使用Javascript Fetch API时动态更新内容类型标头

时间:2017-10-27 20:35:04

标签: javascript excel multipartform-data content-type fetch-api

我尝试使用JavaScript Fetch API发送http POST请求。到目前为止,我所得到的内容(使用TypeScript表示法):

const fetchHeaders = new Headers();
fetchHeaders.append("Content-Type", "multipart/form-data; boundary=???");

const fetchOptions: RequestInit = {
    method: "Post",
    body: this.file,
    headers: fetchHeaders
}

await fetch("uri", fetchOptions);

假设this.file是使用.xls上传的.xlsx<input type="file"> Excel文件,如何填充boundary= Content-Type部分调用fetch时动态标头?

在POSTMAN中执行相同的操作时,边界会自动设置,我无法弄清楚如何。

1 个答案:

答案 0 :(得分:1)

我找出了核心问题 - 将文件本身作为正文传递。这就是我解决它的方式:

const formData = new FormData();
formData.append("file", this.file, this.file.name);

const fetchOptions: RequestInit = {
    method: "Post",
    body: formData
}