J'essaie de faire quelque chose de difficile ici, je télécharge un fichier avec multer
avec succès dans MemoryStorage
. Le point est que je dois prendre le fichier de la mémoire et l'envoyer à un autre serveur. Voici ce que je fais:Téléchargement de fichiers avec node/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!"
});
}
});
En utilisant ce code, je reçois l'erreur:
write after end
Toutes les solutions?
Est-ce que cette erreur vient avec une trace de la pile? Quels bits de la consignation de votre console voyez-vous avant le message d'erreur? L'erreur est-elle enregistrée dans le cadre de votre journalisation 'N Enviado'? – skirtle
Oui, est-ce que "write after end" – erickles