gpt4 book ai didi

javascript - 使用 AJAX 直接上传到亚马逊 S3 返回错误 : Bucket POST must contain a field named 'key'

转载 作者:行者123 更新时间:2023-12-03 22:28:35 25 4
gpt4 key购买 nike

我正在尝试将文件从浏览器上传到 s3 amazon,我已修改 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>

这是我的请求和响应,我以正确的顺序传递关键参数,但仍然收到此错误

http://screencast.com/t/9ZUQO0s9d

http://screencast.com/t/CL8MKq6l6

谁能告诉我出了什么问题,我正在使用 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);

enter image description here

最佳答案

看起来您的文件表单字段首先出现在请求中。我无法确定,因为您没有在答案中包含整个请求负载,但看起来它出现在“key”字段上方。 AWS 会忽略请求中文件字段之后的所有字段,因此所有其他字段必须出现在文件之前。

关于javascript - 使用 AJAX 直接上传到亚马逊 S3 返回错误 : Bucket POST must contain a field named 'key' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15234496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com