Ich versuche hier etwas kompliziert zu machen, ich lade eine Datei mit erfolgreich in MemoryStorage
. Der Punkt ist, dass ich die Datei aus dem Speicher nehmen und an einen anderen Server senden muss. Hier ist, was ich tue:Hochladen von Dateien mit Knoten/multer/axios
var express = require('express');
var router = express.Router();
var path = require('path');
const multer = require('multer');
const FormData = require('form-data');
router.post('/files', upload.single('file'), function (req, res) {
const axios = require('axios');
const url = configuration.dataHub.url + '/api/files';
var config = {
headers: {'x-token': req.session.token, 'Content-Type': 'application/json'}
};
const form = new FormData();
form.append('file', req.file.buffer);
if (req.session.hasOwnProperty('token')) {
axios.post(url, form, config)
.then(response => {
if (response.data.success) {
console.log("Arquivo enviado");
res.send({
success: true,
message: 'Arquivo enviado com sucesso!'
});
} else {
console.log("Arquivo nao enviado");
res.send({
success: false,
message: "Houve um problema ao enviar a ficha, verifique sua conexão ou tente novamente mais tarde."
});
}
})
.catch((error) => {
console.log("N Enviado", error.message);
res.send({
success: false,
message: "Houve um problema ao enviar o arquivo, verifique sua conexão ou tente novamente mais tarde."
});
});
} else {
res.send({
success: false,
session: false,
message: "Sua sessão expirou após 5 minutos sem uso. Faça login novamente!"
});
}
});
diesen Code verwenden, erhalte ich die Fehlermeldung:
write after end
Alle Lösungen für das?
, dass Fehler mit einem Stack-Trace kommen tun? Welche Teile Ihrer Konsolenprotokollierung sehen Sie vor der Fehlermeldung? Wird der Fehler als Teil Ihrer 'N Enviado' Protokollierung protokolliert? – skirtle
Ja, ist das "Schreiben nach Ende" – erickles