这个问题跟问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)
答案 0 :(得分:1)
Hi phonegap fileTransfer使用HTTP多部分POST请求,此错误是由于连接错误引起的。错误代码:3表示 CONNECTION_ERR
错误代码
所以要解决这个问题,你需要再次尝试这些文件, 首先将这些fileUploadoptions [filelocation,url,options]保存在一个数组中,并为每个项目调用Upload函数,然后onSuccess从数组中删除该项,并尝试再次调用upLoad函数,在upload函数中从该数组中获取一个项目并处理上传,直到数组变空了。