Как передать файл csv как данные формы с помощью REST API - PullRequest
0 голосов
/ 14 июля 2020

Мне сложно кодировать загруженный файл CSV в данные формы. Это идея, которую я придумал, чтобы иметь возможность передавать фактический файл для обработки на бэкэнде, используя метод post моего API. Но, к сожалению, я получаю сообщение об ошибке «TypeError: Не удалось создать FormData»: параметр 1 не относится к типу «HTMLFormElement». «. Я новичок в программировании, поэтому надеюсь, что вы понимаете. Спасибо!

Вот фрагмент того, что я сделал:

uploadedProducts содержит загруженный мной CSV-файл.

        upload() {
          let data = new FormData(self.uploadedProducts);
          
          axios.post(`${api}/mc/upload/specifications`, {
              data,
              headers: {
                'Content-Type': 'multipart/form-data'
              }
          })
          .then((result) => {
              let responseData = result.data
              alert("Uploaded successfully!")     
          })
          .catch((error) => {
              self.showErrorMessage(error.message);
          })
        }

1 Ответ

0 голосов
/ 14 июля 2020
var formData = new FormData(form)

form должен быть элементом HTML. Пожалуйста, прочтите FormData () . Судя по вашим ошибкам, ваш self.uploadedProducts не является элементом формы.

Альтернативой является использование метода append. Пожалуйста, прочтите FormData.append () .

Итак, ваш код должен быть примерно таким:

upload() {
    let data = new FormData();
    data.append('fieldName', self.uploadedProducts);
    ...
    // you can omit multipart/form-data header
    axios.post(`${api}/mc/upload/specifications`, data)
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...