Отправка текстового файла из React стороннему пользователю через Nodejs API

#node.js #reactjs #jira #jira-rest-api #jira-plugin

#node.js #reactjs #jira #jira-rest-api #jira-плагин

Вопрос:

Я пытаюсь загрузить простой файл .txt из React в NodeJS. Я вижу, что файл отправляется на узел как обещание, которое ожидает объект. Но, похоже, мне нужна строка буфера (?) для отправки файла через axios или аналогичный.Я продолжаю получать ошибки, связанные с тем, что у меня неправильный тип ввода для создания буфера… Но что я должен здесь использовать?

Реагировать:

   function onChange({
    target: {
      validity,
      files: [file],
    },
  }) {
    if (validity.valid) mutate({ variables: { file } });
  }

  
      {/* @TEMP testing file upload */}
      <input type="file" multiple required onChange={onChange} />
 

Узел:

  var newBuffer = new Buffer(file, "base64");
      var formData = {
        file: {
          value: newBuffer,
          options: {
            filename: file.filename,
            contentType: file.mimetype,
          },
        },
      };
      let formHeaders = formData.getHeaders();

      let res = await axios.post(
        `https://site.nodejs.net/rest`,
        formData,
        {
          headers: {
            ...formHeaders,
            Authorization: `Basic ${TOKEN}`,
            Accept: "application/json"
          },
        }
      );
 

ОШИБКА:
Ошибка типа [ERR_INVALID_ARG_TYPE]: Первый аргумент должен иметь тип string или экземпляр Buffer, ArrayBuffer или Array или объект, подобный массиву. Получен экземпляр объекта

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

1. Можете ли вы включить ошибку?

2. ОШИБКА @BurningAlcohol::::>>>> Ошибка типа [ERR_INVALID_ARG_TYPE]: Первый аргумент должен иметь тип string или экземпляр Buffer, ArrayBuffer или Array или объект, подобный массиву. Получен экземпляр объекта

3. Какое это имеет отношение к плагинам Jira или Jira?

4. @tgdavies это запрос относительно их использования API через NodeJS. У вас есть какие-либо идеи или вы хотите внимания?

5. @tgdavies Я нашел несколько связанных неотвеченных билетов Atlassian, если вы ищете. community.atlassian.com/t5/Jira-questions /…

Ответ №1:

Попробуйте использовать Multer, это node.js промежуточное программное обеспечение для работы с составными / form-данными, которое в основном используется для загрузки файлов.

npm install —-save multer