Javascript 如何放置对象AWS-S3 CORS而不获取CORS错误?

Javascript 如何放置对象AWS-S3 CORS而不获取CORS错误?,javascript,http,amazon-s3,Javascript,Http,Amazon S3,我试图通过XMLHttpRequest()将一个对象从Javascript放入S3 S3存储桶设置为允许CORS配置,但无论我如何尝试,都会出现错误:- Access to XMLHttpRequest at 'https://s3.amazonaws.com/<bucket>/direct/movie-1585318655303.mov' from origin 'https://<my-site>' has been blocked by CORS policy: R

我试图通过XMLHttpRequest()将一个对象从Javascript放入S3

S3存储桶设置为允许CORS配置,但无论我如何尝试,都会出现错误:-

Access to XMLHttpRequest at 'https://s3.amazonaws.com/<bucket>/direct/movie-1585318655303.mov' from origin 'https://<my-site>' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
访问位于的XMLHttpRequest'https://s3.amazonaws.com//direct/movie-1585318655303.mov“来自来源”https://“已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。
我的JavaScript PUT请求的格式如下:-

var reqURL = 'https://s3.amazonaws.com/<bucket>/direct/movie-'+Date.now()+'.mov';

var x = new XMLHttpRequest();

//x.withCredentials = false; ** MAKES NO DIFFERENCE **
//x.withCredentials = true;

x.onload = () => {
    console.log('x.responseText',x.responseText);    // Never Get this far !!
}

x.open('PUT',reqURL,true);

var blob = new Blob([resp.result]); // resp.result is from fileReader();

x.send(blob);
var-reqURL='1〕https://s3.amazonaws.com//direct/movie-“+Date.now()+”.mov';
var x=新的XMLHttpRequest();
//x、 withCredentials=false;**没有区别**
//x、 withCredentials=true;
x、 onload=()=>{
console.log('x.responseText',x.responseText);//永远不会走到这一步!!
}
x、 打开('PUT',请求URL,true);
var blob=新blob([响应结果]);//resp.result来自fileReader();
x、 发送(blob);
我的AWS CORS配置为:-

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>

*
得到
头
放
3000
授权
我找到的文档建议仅当存在特定的源域限制时才设置
x.withCredentials
,而在本例中没有此限制,因为它是
“*”
。然而,AWS的支持人员说,我需要发送源站标题,但我在网上找不到任何关于如何发送的建议