Safari 10.1.2
尝试使用Node aws-sdk使用签名请求将PDF文件上传到S3时出现问题。间歇性地发生这种情况并且谷歌搜索称这是一个CORS问题,但它在90%的情况下运行良好!拉出我的声音吧!
我在Firefox上注意到,如果文件超过500Kb,就会发生这个问题。我解决了这个问题,但我仍然在Safari上遇到这个问题。
客户端:
// https://gist.github.com/guumaster/9f18204aca2bd6c71a24
$.ajax({
type: 'PUT',
url: signedRequest,
// Content type must much with the parameter you signed your URL with
contentType: file.type,
// this flag is important, if not set, it will try to send data as a form
processData: false,
// the actual file is sent raw
data: file,
success: function (data, textStatus, request) {
addToSupportingDocsURLDO(annexureFilename, reference, url, callback);
},
error: function (err, textStatus, request) {
_errorCallback('Could not upload file: ' + file.name + ' Please decrease the size of your file or try again later.');
// TODO: send support@judgeit.com.au email with error
}
});
错误:
由于访问控制检查,XMLHttpRequest无法加载https://sofassets.s3-ap-southeast-2.amazonaws.com/597725898b90e600118f9c9d/599eb7843301240011281ecb/Annexure-D.pdf?AWSAccessKeyId=ACCESSKEYID&Content-Type=application%2Fpdf&Expires=1503574043&Signature=SIGNATURE&x-amz-acl=public-read。
答案 0 :(得分:0)
如果你没有把它排除在外,或者有人像我一样落在这里,我们遇到了同样的问题,我仍然无法相信这是问题,但......我们将按钮从<button type="submit"
更改为<button type="button"
解决了它。显然Apple决定提交按钮不应该提交数据......