[英]Rails 6 Amazon S3 Error POST 403 (Forbidden) using s3_direct_upload gem
[英]Upload Directly to amazon S3 using AJAX returning error: Bucket POST must contain a field named 'key'
我正在嘗試將文件從瀏覽器上傳到 s3 亞馬遜,我修改了 CORS 策略規則以允許存儲桶的帖子,但我收到錯誤
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidArgument</Code><Message>Bucket POST must contain a field named 'key'. If it is specified, please check the order of the fields.</Message>
<ArgumentValue></ArgumentValue><ArgumentName>key</ArgumentName><RequestId>1E0A8DC78C0CEA9A</RequestId><HostId>XN38Qje9hUrGqHNIhtT8CtowX9tXlpyfEoaXb1UNxlsyLOWreh2mKqKVXg1zjLVl</HostId></Error>
這是我的請求和響應,我以正確的順序傳遞關鍵參數仍然收到此錯誤
誰能告訴我有什么問題,我正在使用 FormData 提交請求
任何幫助將不勝感激。
謝謝
編輯:這是代碼請檢查
var form_data = new FormData();
form_data.append('file',hdlr.file);
//form_data.append('crop_type',settings.get_cropped_type());
//form_data.append('attributes',JSON.stringify(file_attr));
$('input:hidden',$form).each(function(){
form_data.append(this.name,this.value);
});
//finally post the file through AJAX
var xhr = new XMLHttpRequest();
xhr.open("POST", $form[0].action, true);
xhr.send(form_data);
看起來您的文件表單字段首先出現在請求中。 我不能確定,因為您沒有在答案中包含整個請求有效負載,但看起來這只是出現在“鍵”字段上方。 AWS 會忽略請求中文件字段之后的所有字段,因此所有其他字段必須出現在文件之前。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.