我正在使用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
似乎没什么用。任何想法?
这个代码使用离子本机库,但我也试过去FileTransfer
对象,它仍然无法正常工作
我还使用了一个从我的网络服务器预先上传
的网址更新:
这是我与原生FileTransfer
对象
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);
答案 0 :(得分:1)
问题在于Content-type
标题
Content-Type
而非Content-type
解决了问题
答案 1 :(得分:-2)
我使用cordova文件传输将图像发布到我的服务器。这是我的代码:
function uploadPicture(url_to_upload_php_handler, fileURI){
var uri = encodeURI(url_to_upload_php_handler);
var options = new FileUploadOptions();
options.fileKey="fileUpload";
options.fileName=fileURI.substr(fileURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
options.chunkedMode=false;
var ft = new FileTransfer();
ft.upload(fileURI, uri, uploadSuccess, uploadFail, options);
}