本帖最后由 asdfxed 于 2022-12-30 11:11 编辑
在某些特殊情况下, 我只能获取text
, 但是后续我需要转为blob
或者arraybuffer
, 请问如何处理呢
测试脚本如下, 需要实现的是打开页面https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
之后, 下载的图片是和网页显示的一样, 而目前脚本下载的图片是无效的
// ==UserScript==
// @name 测试fetch
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
// @icon https://www.google.com/s2/favicons?sz=64&domain=baidu.com
// @grant none
// ==/UserScript==
fetch('https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png')
.then(res=>res.text()) // 这里不能改, 只能res.text()
.then(text=>{
// 可修改区域开始
let blob = new Blob([text]);
// 可修改区域结束
// 下面只是测试导出图片是否正确
const a = document.createElement("a");
const objectUrl = window.URL.createObjectURL(blob);
a.download = '测试图片.jpg';
a.href = objectUrl;
a.click();
window.URL.revokeObjectURL(objectUrl);
a.remove();
}).catch(e=>{console.log(e);});
`