初めてAWSとs3を使用するときは、ファイルをアップロードしようとするとエラーが発生するため、大きなファイルをアップロードするためにセールスフォースと統合する必要があります
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.
ご覧のとおり、resumable.js(大きなファイルをチャンクで送信するためのJavaScriptライブラリ)を使用しています。URLhttps ://c.ap1.visual.force.com からファイルを送信しているので、送信しようとしました。
私がファイルを送信しているところからのコードセグメントは
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ライブラリを使用しているため、少し奇妙に見えます。このコードは 、 https: //s3.amazonaws.com/riteshにPOSTリクエストを送信していることを意味します 。riteshは、キー、AWSAccessKeyId、 policy、signature、acl、success_action_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>
ヘッダーではなくパラメータのみを送信しています。追加のヘッダーを送信する必要があります。ヘッダーはマントンにお願いします!!このエラーを削除する方法を教えてください。