我希望从我的应用程序上传图像到S3服务器。我已经计算了所有的数据和代码(在电脑上使用curl进行测试),但是我无法正确调用'fetch'。我得到的响应是:
“至少有一个您指定的前提条件不成立。条件:Bucket POST必须是enclosure-type-multipart/form-data”
如何在react-native的fetch中重新创建表单数据?没有FormData可以添加,然后像fetches示例中那样发送它。
编辑: 谢谢@philipp-von-weitershausen,很高兴你添加了这个功能。但是我在调用它时遇到了一些麻烦。我得到了“Unsupported BodyInit type”的错误。发现是因为在fetch.js中,“support.formData”返回false。当我调用fetch时,我错过了什么?
我的代码示例:
“至少有一个您指定的前提条件不成立。条件:Bucket POST必须是enclosure-type-multipart/form-data”
如何在react-native的fetch中重新创建表单数据?没有FormData可以添加,然后像fetches示例中那样发送它。
编辑: 谢谢@philipp-von-weitershausen,很高兴你添加了这个功能。但是我在调用它时遇到了一些麻烦。我得到了“Unsupported BodyInit type”的错误。发现是因为在fetch.js中,“support.formData”返回false。当我调用fetch时,我错过了什么?
我的代码示例:
var form = new FormData();
form.append("FormData", true)
form.append("name", this.state.invoiceNumber)
form.append("key", this.state.invoiceNumber)
form.append("Content-Type", "image/png")
form.append('file', this.props.uri)
//alert(FormData.prototype.isPrototypeOf(form))
fetch(amazon_url,{body: form,mode: "FormData", method: "post", headers: {"Content-Type": "multipart/FormData"}})
.then((response) => response.json())
.catch((error) => {
alert("ERROR " + error)
})
.then((responseData) => {
alert("Succes "+ responseData)
})
.done();