Как опубликовать файлы FormData и информацию о пользователе с помощью Axios?

#javascript #node.js #express #axios #form-data

#javascript #node.js #экспресс #axios #форма-данные

Вопрос:

У меня есть FormData, который содержит изображения в виде больших двоичных объектов. Я могу отправить их на свой сервер с помощью axios. Мне также нужно добавить идентификатор пользователя (строку) в мой запрос post. Поэтому я получу доступ к обоим запросам.файл и req.body на моем экспресс-сервере.

Как это сделать? Вот мой код:

 export async function uploadImages(files, userId) {
  try {
    const images = new FormData();
    if ([files].length > 0) {
      return Object.values(files).forEach((file: File) =>
        images.append("image", file.blob, file.name)
      );
    }
    //TODO: ADD USERID TO THE POST REQUEST
    const res = await ax.post(
      process.env.SERVER_URL   "/upload-images",
      images
    );
    return console.log("success", res);
  } catch (err) {
    return console.log("error", err);
  }
}  

Комментарии:

1. Вы пробовали просто добавлять поля в FormData с необходимой информацией?

2. Да, я написал images.append(«user», userId), но запрос api никогда не выполняется. Это либо только файлы, либо только идентификатор пользователя. Я застрял здесь…

3. Вы проверяли req.body и req.files ?

4. Да, я консоль. запрос на вход в систему в целом. Он никогда не запускается. Вызов api не выполняется, если в одном и том же FormData есть и идентификатор пользователя, и изображения. Я делаю что-то не так, но что?

5. И какую ошибку вы получили на интерфейсной стороне, если вы не достигли своего внутреннего маршрута?