上传多个文件显示错误代码:3

时间:2014-05-08 07:02:45

标签: javascript android cordova file-upload

这个问题跟问here一样。我想将文件从设备上传到服务器,上传文件(共8个文件),shows error code : 3以获取某些文件(前5个文件)以及其他文件文件(最后3个文件)已成功上传。

我的代码就像:

for(i = 0;i < skiArray.length;i++){
    var options = new FileUploadOptions();
    options.fileKey = "file";
    options.fileName = skiArray[i];
    options.mimeType = "application/pdf";
    options.headers = {
            Connection: "close"
        }
        options.chunkedMode = false;
    var params = {};
    params.filePath = "/example/samp/files/ski/pdf/";
    options.params = params;
    uploadFiles("/example/samp/files/ski/pdf/"+skiArray[i],FILE_UPLOAD_URL,options);

}


//upload files to server
function uploadFiles(filelocation,url,options){
        var ft = new FileTransfer();
           ft.upload(filelocation, url,function onFileTransferSuccess(response){
               alert("File upload Success");  
           }, dbErrorHandler, options);

}

注意:所有文件位于同一位置,文件大小几乎相同(不超过200 KB)。 Cordova版本3.3

请帮我解决这个错误。

consloe错误就像

05-08 13:02:54.204:E / FileTransfer(18180):

{"target":"http:\/\/192.168.1.4\/novema\/Novema_Apiupload.php","source":"\/example\/samp\/files\/ski\/pdf\/51308_1_SKI133R_pxsc8717.pdf","http_status":0,"code":3}
05-08 13:02:54.204: E/FileTransfer(18180): java.net.SocketException: sendto failed: EPIPE (Broken pipe)
05-08 13:02:54.204: E/FileTransfer(18180):  at com.squareup.okhttp.internal.http.HttpTransport$FixedLengthOutputStream.write(HttpTransport.java:228)

1 个答案:

答案 0 :(得分:1)

Hi phonegap fileTransfer使用HTTP多部分POST请求,此错误是由于连接错误引起的。错误代码:3表示 CONNECTION_ERR

错误代码

  1. FileTransferError.FILE_NOT_FOUND_ERR
  2. FileTransferError.INVALID_URL_ERR
  3. FileTransferError.CONNECTION_ERR
  4. FileTransferError.ABORT_ERR
  5. 所以要解决这个问题,你需要再次尝试这些文件, 首先将这些fileUploadoptions [filelocation,url,options]保存在一个数组中,并为每个项目调用Upload函数,然后onSuccess从数组中删除该项,并尝试再次调用upLoad函数,在upload函数中从该数组中获取一个项目并处理上传,直到数组变空了。