Динамически обновлять заголовок типа содержимого при использовании Javascript Fetch API.

Я пытаюсь отправить HTTP-запрос POST с помощью JavaScript Fetch API. То, что у меня есть до сих пор, выглядит так (в нотации 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 является файлом Excel .xls или .xlsx, загруженным с помощью <input type="file">, как мне динамически заполнить часть boundary= заголовка Content-Type при вызове выборки?

При выполнении этой же операции в POSTMAN граница устанавливается автоматически, и я не могу понять, как это сделать.


person Casey Cummings    schedule 27.10.2017    source источник
comment
Вопрос повторно опубликован из-за ошибочного дубликата, поскольку повторяющиеся вопросы, как правило, игнорируются.   -  person Casey Cummings    schedule 27.10.2017
comment
stackoverflow.com/ вопросов/3508338/ вот почему они говорят, что это дубликат   -  person Hunter    schedule 27.10.2017
comment
Это не тот вопрос, который они назвали дубликатом. Это тоже не дубликат.   -  person Casey Cummings    schedule 27.10.2017


Ответы (1)


Я понял основную проблему - передать сам файл в качестве тела. Вот как я это решил:

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

const fetchOptions: RequestInit = {
    method: "Post",
    body: formData
}
person Casey Cummings    schedule 27.10.2017