谢谢你过来。
我想使用fetch api发送一个new FormData()
作为POST
请求的body
手术看起来像这样
js prettyprint-override">var formData = new FormData()
formData.append('myfile', file, 'someFileName.csv')
fetch('https://api.myapp.com',
{
method: 'POST',
headers: {
"Content-Type": "multipart/form-data"
},
body: formData
}
)
这里的问题是边界,比如
boundary=--WebKitFormBoundaryyEmKNDsBKjB7QEqu
永远不要将其放入内容类型:
标题中
应该是这样的
内容类型:多部分/表单数据;边界=----WebKitFormBoundaryyEmKNDsBKjB7QEqu
当您使用新XMLHttpRequest()
尝试“相同”操作时,如下所示
var request = new XMLHttpRequest()
request.open("POST", "https://api.mything.com")
request.withCredentials = true
request.send(formData)
标题设置正确
内容类型:多部分/表单数据;边界=----WebKitFormBoundaryyEmKNDsBKjB7QEqu
所以我的问题是,
>
在这种情况下,我如何使getch
的行为完全像XMLHttpRequest
?
如果这不可能,为什么?
谢谢大家!这个社区或多或少是我职业成功的原因。
fetch(url,options)
>
a
,它将类似于多部分/表单数据;边界=----WebKitFormBoundary7MA4YWxkTrZu0gW
如您所见,边界是自动添加的。
b
,它是application/x-www-form-urlencoded
我删除了“contenttype”并在http头中添加了“Accept”,这对我来说很有效。以下是我使用的标题,
'headers': new HttpHeaders({
// 'Content-Type': undefined,
'Accept': '*/*',
'Authorization':
"Bearer "+(JSON.parse(sessionStorage.getItem('token')).token),
'Access-Control-Allow-Origin': this.apiURL,
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS, PUT, PATCH, DELETE',
'Access-Control-Allow-Headers': 'origin,X-Requested-With,content-type,accept',
'Access-Control-Allow-Credentials': 'true'
})
问题的解决方案是显式地将内容类型
设置为未定义
,以便您的浏览器或您正在使用的任何客户端都可以设置它,并在其中添加该边界值。令人失望但却是真实的。
没有边界的多部分/表单数据请求是否有效?根据规范,当有超过1个部分时,使用边界将它们分开(并且该边界不应该是身体的一部分)。我有一个请求,其中有一个单一的主体作为原始内容或文件,在内容类型中,我们传递“多部分/表单数据”。这种要求实际上有效吗?
所以这个HTML代码以正确的格式提交数据给我。 谢了!
这几天我一直被这个问题难住了。如果有人能给我指出正确的方向,我将不胜感激!我一直在想如何通过facebooks graph api发布图像。 我从Facebook上下载了一张图片,它通过图形API显示在画布元素中。我正在修改这个元素,在上面画文本,然后想把它上传回facebook。我被上传卡住了。 以下是我看过的有帮助的链接,但我仍然卡住了: Facebook Graph API——使用JavaS
我已经创建了一个使用“多部分/表单数据”的控制器 采样器请求对象 现在,我将尝试使用模拟MVC测试它,但我不知道如何将“多部分/表单数据”作为内容传递。我看到很多使用JSON的示例,但没有使用多部分/表单数据 有没有一种方法可以完成我的请求与多部分/form_data?理想情况下,它需要在MockHttpServletRequest的主体中
在使用Axios、react时,我严重混淆了如何解决这个多部分边界。js和多部分/formdata。我已经坚持了两周来尝试解决这个问题,但我觉得我离解决它越来越近了,但无论我尝试什么解决方案,它仍然坚持。 我从这个主题中阅读并尝试了一些解决方案: 如何-后-多部分-表单数据-使用-获取-在-反应-本机 如何发送多部分表单数据与上传反应 如何发送-多部分-表单-数据-来自-反应-js-与-图像 这是
我有一个表单数据以及文件要在同一职位上发送。对于ex,{duration:2000,file:test.wav}。我在这里看到了使用python请求发布多部分/表单数据的许多线程。它们很有用,尤其是这个。 我的示例请求如下: 5:59:55.338 Dbg 09900[DEBUG]处理程序解析异常[null]:org.springframework.web.multipart.multipartE