这可能是一个相对简单的答案,我可能会严重忽略它。
我正在使用一个API来打包我们的一些数据并将其发送给我一个blob。它提供了一个URL,例如blob:http://localhost:3001/somenumber。
我假设这个网址是我的文件所在的位置?当我在浏览器中手动点击该URL时,它会下载我需要的文件(只是数据的基本对象)。但是,我似乎无法实际获取此文件以输出数据,因此我可以在我的客户端代码/ javascript中处理它。我用FileReader系统搞错了但没有成功。
任何帮助都会很棒。基本上,我想获取DB服务提供给我的blob url,并读取其内容,以便将数据输出到视图中。
谢谢!
答案 0 :(得分:2)
你可以读取这样的数据:
var req = new XMLHttpRequest();
req.open("GET", "http://localhost:3001/somenumber", true);
req.responseType = "arraybuffer";
req.onreadystatechange = function(event) {
if (req.readyState == 4 && req.status == 200) {
var blob = new Blob([req.response], {type: "application/pdf"}); // or "image/png", or others...
var fileURL = URL.createObjectURL(blob); // Create a temp ULR to the data (pdf, image...)
location.href = fileURL; // switch location to this new URL
}
};
您可以查看https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data。