отправка файла с сервера на сервер с помощью axios - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь опубликовать данные формы из нескольких частей с файлом из одного API в другой.для этого я использую axios и библиотеку FormData, которая обрабатывает данные, которые я хочу отправить

import { ReadStream } from "fs"
import Axios from "axios"
import * as fs from "fs"
const FormData = require('form-data')

let formData: FormData = new FormData()      
formData.append('name', name)
formData.append('allowPrint', 'false')
const file: ReadStream = fs.createReadStream(name)
formData.append('content', file, name)

return Axios.post(fileAPIUrl + "/file", formData, {
       headers: {
       "Origin": origin,
       "Authorization": "Bearer " + securityToken,
       "Content-Type": "multipart/form-data"
       }, responseType: "json"
})

Я должен получить json с идентификатором моего файла, который я только что загрузил.Я знаю, что другие API работают, потому что работает с моего внешнего интерфейса, я могу опубликовать файл с дополнительной информацией из внешнего интерфейса, но если я использую этот URL из моего бэкэнда, я получаю следующую ошибку:

 { Error: write after end
           at write_ (_http_outgoing.js:627:15)
           at ClientRequest.write (_http_outgoing.js:622:10)
           at RedirectableRequest._write node_modules/follow-redirects/index.js:153:23)
           at doWrite (_stream_writable.js:406:12)
           at clearBuffer (_stream_writable.js:533:7)
           at onwrite (_stream_writable.js:458:7)
           at onCorkedFinish (_stream_writable.js:657:5)
           at afterWrite (_stream_writable.js:473:3)
           at onwrite (_stream_writable.js:464:7)
           at Socket._writeGeneric (net.js:742:5)
           at Socket.connect (net.js:692:12)
           at Object.onceWrapper (events.js:272:13)
           at Socket.emit (events.js:185:15)
           at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1157:10)
         config:
          { adapter: [Function: httpAdapter],
            transformRequest: { '0': [Function: transformRequest] },
            transformResponse: { '0': [Function: transformResponse] },
            timeout: 0,
            xsrfCookieName: 'XSRF-TOKEN',
            xsrfHeaderName: 'X-XSRF-TOKEN',
            maxContentLength: -1,
            validateStatus: [Function: validateStatus],
            headers:
             { Accept: 'application/json, text/plain, */*',
               'Content-Type': 'multipart/form-data',
               Origin: 'http://localhost',
               Authorization: ‘Bearer  token',
               'User-Agent': 'axios/0.15.3' },
            method: 'post',
            responseType: 'json',
            url: ‘file.url/file',
            data:
             FormData {
               _overheadLength: 538,
               _valueLength: 98,
               _valuesToMeasure: [],
               writable: false,
               readable: true,
               dataSize: 0,
               maxDataSize: 2097152,
               pauseStreams: true,
               _released: true,
               _streams: [],
               _currentStream: null,
               _boundary: '--------------------------207564514352341640400188',
               _events: {},
               _eventsCount: 0 } },
         response: undefined }
       (node:89) [DEP0013] DeprecationWarning: Calling an asynchronous function without callback is deprecated.

1 Ответ

0 голосов
/ 10 января 2019

Вы, вероятно, используете старую версию;эта ошибка была исправлена ​​в https://github.com/follow-redirects/follow-redirects/issues/50/.

...