资源路径与blobUrl互转

简介: 资源路径与blobUrl互转

害怕树敌的人永远得不到真正的朋友——哈兹里特

首先是普通资源URL转换为blobUrl

// 生成blobURL
const xhr = new XMLHttpRequest();
xhr.open('GET', 'https://VampireAchao.gitee.io/imgs/preview/3356_3.jpg', true);
xhr.responseType = 'blob';
xhr.onload = function (e) {
    if (this.status == 200) {
        var blob = this.response;
        console.log(blob);
        // document.getElementById("myImg").src = URL.createObjectURL(blob);
        console.log(URL.createObjectURL(blob))
    }
};
xhr.send();


这边执行后,打印出了结果

尝试新标签打开,404

但是我们直接替换img src,成功渲染

如果一开始将图片格式转为webp,能阻挡大部分爬虫了

那么如果遇到blob:开头的blobUrl,怎么下载呢?.

用下面的js

// 下载blob
const filename = '3356_3.jpg'
const blobUrlString = 'blob:https://VampireAchao.gitee.io/a4adbbc7-8375-424b-b9c3-0d1ec54b7ced'
fetch(blobUrlString)
    .then((response) => response.blob())
    .then((blob) => {
        let aLink = document.createElement('a')
        let evt = document.createEvent('HTMLEvents')
        evt.initEvent('click', true, true)
        aLink.download = filename
        aLink.href = URL.createObjectURL(blob)
        aLink.click()
    })

成功下载

目录
打赏
0
0
1
0
29
分享
相关文章
模板字符串在哪些场景下会比普通字符串更有优势?
模板字符串在哪些场景下会比普通字符串更有优势?
128 75
|
2月前
|
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
120 34
【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表混淆 | resources.arsc 资源映射表二进制格式分析 | 混淆全局字符串池和资源名称字符串池 )
【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表混淆 | resources.arsc 资源映射表二进制格式分析 | 混淆全局字符串池和资源名称字符串池 )
460 0
【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表混淆 | resources.arsc 资源映射表二进制格式分析 | 混淆全局字符串池和资源名称字符串池 )
项目中不同位置资源文件读取的几种方式
项目中不同位置资源文件读取的几种方式
72 0
路径中,连续多个目录分隔符不影响,仍按照一个处理
路径中,连续多个目录分隔符不影响,仍按照一个处理
112 0
封装一个根据路径获取文件资源的工具类
通常我们最多的场景是从本地资源中读取文件,这个时候我们经常需要注意的是相对路径、绝对路径问题; 除了从本地获取文件之外,从网络中获取文件资源(如图片)也属于相对常见的场景,接下来我们封装一个工具类,可以支持以上各种类型的数据读取
146 0
封装一个根据路径获取文件资源的工具类
【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表文件格式 | 头文件 数据格式 | 全局字符串池 数据格式 | 包数据 数据格式 | 包头 数据格式 )(二)
【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表文件格式 | 头文件 数据格式 | 全局字符串池 数据格式 | 包数据 数据格式 | 包头 数据格式 )(二)
335 0
【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表文件格式 | 头文件 数据格式 | 全局字符串池 数据格式 | 包数据 数据格式 | 包头 数据格式 )(二)
【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表文件格式 | 头文件 数据格式 | 全局字符串池 数据格式 | 包数据 数据格式 | 包头 数据格式 )(一)
【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表文件格式 | 头文件 数据格式 | 全局字符串池 数据格式 | 包数据 数据格式 | 包头 数据格式 )(一)
261 0
【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表文件格式 | 头文件 数据格式 | 全局字符串池 数据格式 | 包数据 数据格式 | 包头 数据格式 )(一)

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等