I am using cordova file transfer to dowload a file from aws s3 using signed url, since cordova filetransfer encodes the uri, the "%" in signature is converted to "%25", thus, results in signature mismatch
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Try setting up your options like so:
options = {
fileKey: 'file',
fileName: name,
chunkedMode: false,
mimeType: 'audio/3gpp',
httpMethod: 'PUT',
// Important!
headers: {
'Content-Type': 'audio/3gpp' // < Set explicitly otherwise it becomes multipart/form-data which won't work with S3
},
encodeURI: false // < Stops any extra encoding by file transfer logic
}
Took me many painful hours getting pre signed PUTs working with cordova / S3. Goodluck.