>我正在尝试下载作为测试上传到 Dropbox 的文件。下载功能有效,我也得到了文件blob,但实际读取文件内容时遇到麻烦
function downloadFile() {
dbx.filesDownload({path: '/_bk_test/test3.json'})
.then(function(response) {
var blob = response.fileBlob;
var reader = new FileReader();
reader.addEventListener("loadend", function() {
console.log(reader.result); // will print out file content
});
reader.readAsText(blob);
})
.catch(function(error) {
console.error(error);
});
}
但是我收到此错误作为输出
Promise {<pending>}
VM215:11 TypeError: reader.addEventListener is not a function
at <anonymous>:5:24
这很奇怪。
但是,如果我将response.fileBlob
存储在全局变量中,然后使用reader
函数,它将不会显示 TypeError。但是我仍然无法读取文件内容。
无论哪种方式,这些都是问题
1.在函数中,FileReader 会引发异常。
2. 在函数之外,文件阅读器不显示文件内容。
PS - 在科尔多瓦进行测试
好吧,Cordova有一个不同的API
function downloadFile() {
dbx.filesDownload({path: '/_bk_test/test3.json'})
.then(function(response) {
var blob = response.fileBlob;
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("read success");
console.log(evt.target.result);
};
reader.readAsText(blob);
})
.catch(function(error) {
console.error(error);
});
}