JavaScript - создайте файл из объекта json и используйте его в FormData - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь смоделировать загрузку файла, предоставляя содержимое файла вместо предоставления реального файла.

Итак - я делаю что-то вроде этого:

 uploadFile(jsonContent: string, otherParams: string) {

const formData = new FormData();
formData.append('jsonContent', data, 'fileName.json');
formData.append('deal_id', dealId);

return this.http.post(this.base_url + '/files', formData);}

I 'я не вижу контент, отправляемый в API.Любой совет?Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Ну, я нашел решение для этого.В машинописном тексте вы можете создать new File() и передать в него объект BLOB-объекта.

Теперь вы можете создать файл на стороне клиента и отправить его как часть данных формы.

код:

    const st = JSON.stringify(json);

    const blob = new Blob([st], { type: 'application/json' });

    const file = new File([ blob ], 'FileName.json');

    const formData = new FormData();
    formData.append('file', file, 'FileName.json');
    formData.append('deal_id', dealId);
0 голосов
/ 11 июня 2018

Попробуйте добавить это в заголовки

const headers = {
  processData: false,
  contentType: false 
}

this.http.post(this.base_url + '/files', formData, headers)
...