我需要使用我的Cordova应用程序下载一个大文件(160GB)。以前,我使用文件传输插件。由于它被停用,我开始使用XMLHttpRequest。它对较小的文件工作正常,但对大文件崩溃。
简化代码为:
var req = new XMLHttpRequest();
req.addEventListener("loadend", function (evt) {
console.log("1");
});
req.addEventListener("error", function (evt) {
console.log("2");
});
req.addEventListener("abort", function (evt) {
console.log("3");
});
req.addEventListener("progress", function (evt) {
console.log("4");
});
console.log("5");
try {
req.open("GET", url, true);
req.responseType = "blob";
req.send(null);
}
catch (e) {
console.log("6");
};
对于大文件,控制台输出仅为“5”。
1条答案
按热度按时间zf9nrax11#
安装https://github.com/sgrebnov/cordova-plugin-background-download插件可以解决这个问题。但是,该插件已经过时,其原始形式不再适用于Android,请参阅Cordova plugin background download fails。需要修改,其正确的功能在链接的问题中描述。