【发布时间】:2020-07-31 15:12:52
【问题描述】:
我正在尝试制作一个反应本机应用程序,该应用程序需要将本地设备上的文件转换为 javascript File 对象或 Blob,但它具有使用 file:// 协议的地址。根据Medium article,,您可以使用 XMLHttpRequest 将 URI 转换为 Blob:
uriToBlob = (uri) => {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.onload = function() {
// return the blob
resolve(xhr.response);
};
xhr.onerror = function() {
// something went wrong
reject(new Error('uriToBlob failed'));
};
// this helps us get a blob
xhr.responseType = 'blob';
xhr.open('GET', uri, true);
xhr.send(null);
});
}
我想知道这怎么可能,如果有人可以给出解释,考虑到 URI 不使用 HTTP 协议?根据我能找到的任何文档,XMLHttpRequest 仅用于对服务器的 HTTP 请求?
【问题讨论】:
-
你试过了吗?它失败了吗?如果是,什么错误?