Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 无法加载XMLHttpRequesthttps://s3.amazonaws.com/. 访问控制不允许原点允许原点_Amazon Web Services_Amazon S3_Salesforce_Visualforce_Resumablejs - Fatal编程技术网

Amazon web services 无法加载XMLHttpRequesthttps://s3.amazonaws.com/. 访问控制不允许原点允许原点

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

第一次使用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-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开发人员指南》,了解如何使用标题