我正在使用Cordova FileTransfer插件在Amazon S3服务器上传图像文件。这是我执行fileTransfer
的过程然后我使用fileTransfer插件上传包含以下代码的文件。
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = fileName;
options.mimeType = "image/jpeg";
options.chunkedMode = false;
options.encodeURI= false;
var headers={
'X-Amz-Acl': 'public-read'
};
options.headers = headers;
options.params = params;
var ft = new FileTransfer();
ft.upload(fileURL,form.action, win, fail, options)
响应返回到返回json响应的win函数
bytesSent: 31968
objectId: ""
response: ""
responseCode: 204
该文件未上传,我没有收到我图片的任何回复网址
我使用了'Content-Type':'image / jpeg'但它的响应412错误代码和消息 Bucket POST必须是enclosure-type multipart / form-data 。为什么这是响应,因为我特意发送使用image / jpeg内容类型?
在这里,我按照this answer的拉方法。但它失败了回归。我得到错误代码3 ,其中说明 MalformedXML ,错误说“写入错误:ssl = 0x6d3c2c20:系统调用期间的I / O错误,同级连接重置“
请有人帮助我得到我在这里失踪的东西。提前谢谢。
答案 0 :(得分:0)
是。对于android,响应为null,但对于iOS响应是可以的。
因此对于Android来说,工作将是
response = form.action + params.key;
以下代码足以发送文件(4,5点被忽略)
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = fileName;
options.chunkedMode = false;
options.params = params;