Я пытаюсь загрузить файл на сервер (построенный с использованием Java), прочитав из потока mfonodb gridfs.nodeJS загрузка файла с использованием библиотеки запросов
exports.upload = function(req, res, next) {
var IHUrl = config.api.url + "PhotosServlet";
var data = req.body;
var file1 = api.gfs.createReadStream({
_id: data.fileId
})
var formData = {
"imgTyp": data.imgTyp,
"listingid": data.listingid,
"scaleTech": data.scaleTech,
"SPC": data.SPC,
"SPCUID": data.SPCUID,
"varRand": data.varRand,
"file1": file1
};
var r = request.post({
url: IHUrl,
formData: formData
}, function(error, IHResponse, body) {
if (error) {
res.send(500, error);
console.log("Error occured uploading file1")
} else {
console.log("Upload successful", IHResponse);
res.send(200, IHResponse);
}
});
next();
};
Файл уже загружен в mfonbf gridfs, прежде чем я начну загрузку файла на сервер upstream.
Я использую следующие nodejs библиотеки:
запрос, gridfs-поток
Я получаю следующее сообщение об ошибке от вышестоящего сервера:
javax.servlet.ServletException: Обработка многоголосных/форм- запрос данных не выполнен. Поток закончился неожиданно
Что здесь может быть неправильно?
Попробуйте удалить 'next();' –
Спасибо за предложение. Я попытался добавить заголовки: {"transfer-encoding": "chunked"}, в заголовки, и он работал без жалобы. – Prabhat
Вот как это будет выглядеть следующим образом: request.POST ({ URL: IHUrl, заголовков: { "перенос-кодирование": "фрагментированный"}, FormData: FormData } – Prabhat