Cordova 每隔一张图片的Phonegap文件传输失败:FileTransfer上载错误代码3
我自己回答了这个问题,因为我花了很长时间才找到解决方案,而且没有很好的文档记录 在尝试使用android上的应用程序将图像上传到远程服务器时,每次交替上传文件时,我都会收到错误代码3。Cordova 每隔一张图片的Phonegap文件传输失败:FileTransfer上载错误代码3,cordova,phonegap-plugins,Cordova,Phonegap Plugins,我自己回答了这个问题,因为我花了很长时间才找到解决方案,而且没有很好的文档记录 在尝试使用android上的应用程序将图像上传到远程服务器时,每次交替上传文件时,我都会收到错误代码3。 它工作了一次,但当我再次尝试时,它会立即抛出一个错误,甚至不会将文件发送到服务器 我用于文件上传的代码是: 使其工作的关键是添加一个标题选项。 options.headers = { Connection: "close" } options.chunkedMode = false
它工作了一次,但当我再次尝试时,它会立即抛出一个错误,甚至不会将文件发送到服务器 我用于文件上传的代码是: 使其工作的关键是添加一个标题选项。
options.headers = {
Connection: "close"
}
options.chunkedMode = false;
完整代码:
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
options.chunkedMode = false;
*options.headers = {
Connection: "close"
};*
// setup parameters
var params = {};
params.fullpath =imageURI;
params.name = options.fileName;
var ft = new FileTransfer();
ft.upload(imageURI, encodeURI(url+'/account/profile-pics'), win, fail, options);
function win(r) {
//file uploaded successfully
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
alert("upload error source " + error.source);
alert("upload error target " + error.target);
}
错误代码3是一个相当广泛的错误;这基本上意味着您的服务器编码不正确,或者您没有internet连接,这会导致连接错误 这可能意味着:
upload\u max\u filesize
设置;要在ExpressJS上解决此问题,您需要调整Multer的limit
字段等。基本上,增加服务器上的文件上载大小。大多数服务器限制文件上载大小作为安全措施。()选项.fileKey
值(即
)不是服务器期望的名称-示例错误消息可能是“意外字段”内容类型
字段没有多部分/表单数据的值;边界=----WebKitFormBoundary
。在服务器上记录请求头可用于检查内容类型是否设置正确照片上传无需文件传输 一个更简单的替代方案(或回退方案)是将图像编码为Base64,并通过普通的旧AJAX POST请求发送它。这包括以下优点和缺点 通过AJAX发送的Base64编码图像的缺点
phonegap没有更好地记录这一点,这非常令人沮丧。您的解决方案对我很有效,谢谢。我收到这个错误(错误代码3),因为apache服务器上php模块上配置的文件大小小于我作为请求的一部分发布的大小。一旦我增加了限制,它就为我修复了。当互联网断开连接时,错误代码3也会出现。我在最初成功后收到此错误。一次成功,然后在页面刷新之前不再工作。上面的答案在我使用iOS时不起作用。在我的情况下,我必须添加一个授权头,因为服务器需要一个令牌,然后它就工作了。