Я пытаюсь опубликовать данные формы из нескольких частей с файлом из одного 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.