Languages

JavaScript - Jak uzyskać lub ustawić granice (boundary) danych wieloczęściowych formularzy z FormData?

0 points
Asked by:
Dirask Community
5610

Chciałbym ustawić własny parametr boundary dla Content-Type podczas pracy z klasą FormData w JavaScript.

Oczekiwany nagłówek:

Content-Type: multipart/form-data; boundary=------some-random-characters

Mój kod wygląda następująco:

const requestData = new FormData();
requestData.append('file', file); // plik z File API

const response = await fetch('/backend/upload', {
    method: 'POST',
    headers: {
        'Content-Type': 'multipart/form-data; boundary=------jakieś-znaki',
        'Accept': 'application/json'
    },
    body: requestData
});
var responseData = await response.json();

Kiedy wykonuję kod, nagłówek Content-Type jest poprawny, ale w treści mam  ------WebKitFormBoundary2lZSUsxEA3X5jpYD zamiast  ------jakieś-znaki.

zrzut ekranu z odpowiedzi z DevTools:

Jakieś pomysły jak uzyskać lub ustawić boundary dla FormData?

1 answer
0 points
Answered by:
Dirask Community
5610

Znalezione rozwiązanie:

W tej chwili nie ma sposobu na ustawienie boundary dla FormData.

Usunięcie: 'Content-Type': 'multipart/form-data; boundary=------jakieś-znaki' - spowoduje ustawienie zestawu Content-Type według typu body.

Naprawiony kod:

const requestData = new FormData();
requestData.append('file', file); // plik z File API

const response = await fetch('/backend/upload', {
    method: 'POST',
    headers: {
        'Accept': 'application/json'
    },
    body: requestData
});
var responseData = await response.json();
0 comments Add comment
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join