我正在使用 cordova 文件传输将图像上传到我的 s3 存储桶。
我设法上传文件,没有任何错误,甚至在 s3 中作为文件可见。
但是当我尝试从 s3 下载图像时,我无法查看它(图像已损坏)
当做file image.png
我得到的结果是它是一个数据文件而不是图像..
这是上传代码:
let transfer = new Transfer();
options = {
headers: {
'Content-type': 'image/jpg',
},
httpMethod: 'PUT',
chunkedMode: false
};
console.log("URL, ", url)
return transfer.upload(fileUrl, url, options, true)
我尝试过有或没有encodeURI
方法,有或没有chunkmode
似乎没有任何作用。有任何想法吗?
PS此代码使用离子本机库,但我也尝试过FileTransfer
对象,但仍然不起作用
我还使用从我的网络服务器预上传获得的签名网址
更新:
这是我与本机一起使用的代码FileTransfer
object
var options = new FileUploadOptions();
options.headers = { 'Content-type': 'image/jpg' }
options.httpMethod = 'PUT';
options.chunkedMode = false;
options.mimeType = 'image/jpg';
var ft = new FileTransfer();
ft.upload(fileURL, url, onSuccess, onFail, options, true);