Передача файла и объекта в тело в Post - PullRequest
0 голосов
/ 14 мая 2019

Я получаю URL-адреса BLOB-объектов и могу создать файл для каждого URL-адреса BLOB-объекта и отправить их в бэкэнд, однако мне также необходимо передать несколько свойств другого объекта.(эти свойства вообще не связаны с файлом)

Проблема в том, что я не могу отправить их вместе в бэкэнд.Конечно, я пытался отправить только один объект и передавал данные формы (файл) как свойство объекта, но это не сработало.Я также попробовал тип содержимого: multipart / form-data.

Пожалуйста, не беспокойтесь о синтаксических ошибках.

export const sendObjectAndFile = (myObj, file) => {
 return function(dispatch) {
    let form = new FormData();
    form.append('pdf file', file)
    return fetch(URL, {
        method: "POST",
        credentials: 'include',
        body: myObj /* If I pass only form or only myObj that works, however, how can I send them together */
    }).then(response => 
        if (response.success) {
        } else {
        }
    });
}

Чтобы дать представление о том, как я обрабатываю URL-адреса больших двоичных объектов в резервной копии (яЯ предполагаю, что я пропустил только файлы)

var myFile = Request.Files;

1 Ответ

0 голосов
/ 14 мая 2019

Вы можете попробовать formData.append ($ {имя свойства}, объект), затем передать данные всей формы.

Например.

let formData = new FormData();
formData.append("myFile", $("#file")[0].files[0]);
formData.append("title", $("#title").val();

Затем в контроллере C #

public void Post(HttpPostedFileBase myFile, string title){
// implementation here
}
...