Amazon web services 无法加载XMLHttpRequesthttps://s3.amazonaws.com/. 访问控制不允许原点允许原点
第一次使用AWS和s3时,我必须将其与salesforce集成,以便在尝试上载文件时上载大文件 这给了我错误Amazon web services 无法加载XMLHttpRequesthttps://s3.amazonaws.com/. 访问控制不允许原点允许原点,amazon-web-services,amazon-s3,salesforce,visualforce,resumablejs,Amazon Web Services,Amazon S3,Salesforce,Visualforce,Resumablejs,第一次使用AWS和s3时,我必须将其与salesforce集成,以便在尝试上载文件时上载大文件 这给了我错误 OPTIONS https://s3.amazonaws.com/ritesh 403 (Forbidden) resumable.js:344 XMLHttpRequest cannot load https://s3.amazonaws.com/ritesh. Origin https://c.ap1.visual.force.com is not allowed by Access
OPTIONS https://s3.amazonaws.com/ritesh 403 (Forbidden) resumable.js:344
XMLHttpRequest cannot load https://s3.amazonaws.com/ritesh. Origin https://c.ap1.visual.force.com is not allowed by Access-Control-Allow-Origin.
我正在使用
正如你们所看到的,我正在从url发送文件,然后我尝试发送它
从中发送文件的代码段是
var r = new Resumable({
target:'https://s3.amazonaws.com/ritesh',
chunkSize:1*1024*1024,
simultaneousUploads:4,
testChunks:false,
throttleProgressCallbacks:1,
query:{ 'key': 'Hello10' ,'AWSAccessKeyId': '*********' ,'policy':'{!$RemoteAction.S3FormController.getPolicy1}' ,'signature':'{!$RemoteAction.S3FormController.getSignedPolicy1}', 'acl': '{!AWS_S3_Object__c.Access__c}','success_action_status':'201' , 'success_action_redirect':'https://'+'{!$RemoteAction.S3FormController.getServerURL1}'+'/'+'{!AWS_S3_Object__c.id}' ,'Content-Type' :'application/zip' }
});
因为我使用的是一个现有的JS库,所以它看起来有点奇怪。这段代码意味着我正在向发送post请求
ritesh是我的名字
设置其他post参数,如key、AWSAccessKeyId、policy、signature、acl、success\u action\u status等,所有参数都可能正确,因此我会出现此错误。我的Cors配置为
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>https://c.ap1.visual.force.com/</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
https://c.ap1.visual.force.com/
放
邮递
删除
*
*
得到
我只发送参数,不发送任何标题,我应该发送额外的标题,请注意!!请帮助如何删除此错误您必须使用SFDC HTTP代理。为此,您必须将地址定义为“远程站点”->设置->秒。->远程站点 输入远程站点的URL。所有s控件、自定义按钮中的JavaScript OnClick命令、Apex和AJAX代理调用都可以从salesforce.com访问此网址 您的新请求应使用端点url:“https://c.[实例].visual.force.com/services/proxy” 在请求的标题中,您必须添加
'Authorization':'OAuth{!GETSESSIONID()}
和您的api端点url'SalesforceProxy-endpoint',APIRL
如果外部系统需要身份验证,那么您需要在标题中拥有授权……我建议您阅读《amazon api开发人员指南》,了解如何使用标题