リクエストのnew FormData()
としてを送信したいのですがbody
POST
フェッチAPI
操作は次のようになります。
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
Content-Type:
ヘッダーには決して入らない
次のようになります:
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryyEmKNDsBKjB7QEqu
次のように、で「同じ」操作を試みるとしますnew XMLHttpRequest()
。
var request = new XMLHttpRequest()
request.open("POST", "https://api.mything.com")
request.withCredentials = true
request.send(formData)
ヘッダーが正しく設定されている
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryyEmKNDsBKjB7QEqu
私の質問は次のとおりです:
- この状況と
fetch
まったく同じように動作させるにはどうすればよいでしょうか?XMLHttpRequest
- これが不可能な場合、その理由は何でしょうか?
みなさん、ありがとう!このコミュニティのおかげで、私はプロとして成功しています。
ベストアンサー1
この問題の解決策は、ブラウザまたは使用しているクライアントがそれを設定して境界値を追加できるように明示的に設定することです。残念ですが、事実ですContent-Type
。undefined