Разница между e.целью.файлы[0] и req.файл

#node.js #axios #multer

Вопрос:

Я использую API, когда я отправляю файл по этой ссылке, он отвечает на файл, преобразованный в меня. Я пробую 2 способа попрактиковаться с ним. Я просто использую элемент ввода для выбора файла, который необходимо преобразовать. Во-первых, я разрешаю клиенту напрямую использовать этот API, я получаю этот файл e.target.files[0] и добавляю это значение в a FormData , затем отправляю его с помощью глагола post HTTP в API, чтобы я мог преобразовать файл из API без ошибок. Это console.log(e.target.files[0]) . введите описание изображения здесь

И FromData и axios, которые я использую для поста:

 const form = new FormData();
  form.append('file', e.target.files[0]);
  const res = await axios.post('API', form, {
  headers: {
     'Content-Type': 'multipart/form-data'
      }
      });
 

Во-вторых, я не хочу, чтобы клиент напрямую использовал этот API, я пишу прокси-сервер, позволяю клиенту отправлять запрос на прокси-сервер, а прокси — сервер отправляет запрос post в API. Клиент отправляет файл на прокси-сервер так же, как и выше. Прокси — сервер использует мультер для получения файла из req.file :

 app.post('/upload', upload.single('file'), async (req, res) => {
    const file = req.file;
    console.log('req file', file);
 

И req.file я получаю это:

введите описание изображения здесь

После того , как прокси-сервер получит req.file , он отправит этот файл в API через axios и FormData :

 const form_data = new FormData();
        form_data.append("TasksConversion", JSON.stringify(file));
        const res1 = await axios.post('API', form_data, {
            headers: {
                'Content-Type': 'multipart/form-data',
                ...form_data.getHeaders()
            }
        });
 

Но теперь запрос через ошибку:

Запрос не выполнен с кодом состояния 500… данные: «Последовательность не содержит элементов».

API принимает только FormData подобное e.target.files[0] . Поэтому я думаю, что в этом разница между req.file и e.target.files[0] . Или как я могу получить файл с прокси-сервера, например e.target.files[0] .