org.apache.cordova.file-transfer如何中止下载文件

org.apache.cordova.file-transfer如何中止下载文件,cordova,file-transfer,cordova-3,Cordova,File Transfer,Cordova 3,假设移动设备上的连接很弱并且卡住,在加载微调器在屏幕上挖洞之前,如何中断正在进行的文件传输 这里是医生 根据文档,使用abort()方法应该可以做到这一点,但看起来不可能。iOS和Android都有。下载功能有效。然而,中止不起任何作用。无论如何,文件是在abort()调用之后下载的。即使在10秒之后 我有: function downloadMyFilePlease () { var fileTransfer = new FileTransfer(); var uri = encodeURI

假设移动设备上的连接很弱并且卡住,在加载微调器在屏幕上挖洞之前,如何中断正在进行的文件传输

这里是医生

根据文档,使用abort()方法应该可以做到这一点,但看起来不可能。iOS和Android都有。下载功能有效。然而,中止不起任何作用。无论如何,文件是在abort()调用之后下载的。即使在10秒之后

我有:

function downloadMyFilePlease () {

var fileTransfer = new FileTransfer();
var uri = encodeURI("http://some.server.com/download.php");

fileTransfer.onprogress = function(progressEvent) {
        //...
                                                        };

fileTransfer.download(
    uri,
    fileURL,
    function(entry) {
        console.log("download complete: " + entry.toURL());
    },
    function(error) {
        console.log("download error source " + error.source);
        console.log("download error target " + error.target);
        console.log("upload error code" + error.code);
    },
    false,
    {
        headers: {
            "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
        }
    }
);

}

function abortFileTrasfer () { // called on Abort button click

    fileTransfer.abort(); // <------ Why are you not working??? 
}
函数下载MyFilePlease(){
var fileTransfer=new fileTransfer();
var uri=encodeURI(“http://some.server.com/download.php");
fileTransfer.onprogress=函数(progressEvent){
//...
};
fileTransfer.download(
乌里,
文件URL,
功能(条目){
log(“下载完成:+entry.toURL());
},
函数(错误){
log(“下载错误源”+错误源);
log(“下载错误目标”+错误目标);
console.log(“上传错误代码”+错误代码);
},
假,,
{
标题:{
“授权”:“基本dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=”
}
}
);
}
函数abortFileTrasfer(){//在单击Abort按钮时调用

fileTransfer.abort();//变量fileTransfer未在
AbortFileTransfer()
函数中定义,它是
downloadMyFilePlease()
中的局部变量,因此无法在
AbortFileTransfer()中访问它

谢谢,我有这种感觉。好吧,我想不会有其他文件传输同时进行。那么您认为带来var fileTransfer=new fileTransfer()吗;就在函数之前,将是安全的并修复它?或者有另一个更好的解决方案?@sasha,是的,我相信它会工作,但不要忘记在不再需要时从内存中删除
fileTransfer
。要删除
fileTransfer
最好的方法是什么?
fileTransfer.destroy()
fileTransfer=[]
找不到明确的答案。很抱歉这个问题,但不习惯这种JS级别的编码。我相信您只需要执行
fileTransfer=null;
。这样您将删除指向资源的链接=>将不会有变量链接到此资源,然后垃圾收集器将其从内存中删除。