nodeJS文件上传使用请求库
nodeJS file upload using request library
我正在尝试通过读取 mongodb gridfs 流将文件上传到服务器(使用 Java 构建)。
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();
};
在我开始将文件上传到上游服务器之前,文件已经上传到 mongodb gridfs。
我正在使用以下 nodejs 库:
请求,gridfs-stream
我从上游服务器收到以下错误:
javax.servlet.ServletException:multipart/form-data 请求处理失败。直播意外结束
这里可能出了什么问题?
我意识到这已经有一段时间了,这是你们中的一些人可能会遇到的问题,解决方案并不是我在评论中发布的,因为我后来发现了更多问题。我们遇到的问题是我们发布多部分表单数据的 java servlet 无法处理分块数据,设置 headers 对您没有任何好处。使用请求库在这里对你没有帮助。我不得不使用 restler (https://www.npmjs.com/package/restler) 将整个多部分数据发送到一个块中。
我正在尝试通过读取 mongodb gridfs 流将文件上传到服务器(使用 Java 构建)。
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();
};
在我开始将文件上传到上游服务器之前,文件已经上传到 mongodb gridfs。
我正在使用以下 nodejs 库:
请求,gridfs-stream
我从上游服务器收到以下错误:
javax.servlet.ServletException:multipart/form-data 请求处理失败。直播意外结束
这里可能出了什么问题?
我意识到这已经有一段时间了,这是你们中的一些人可能会遇到的问题,解决方案并不是我在评论中发布的,因为我后来发现了更多问题。我们遇到的问题是我们发布多部分表单数据的 java servlet 无法处理分块数据,设置 headers 对您没有任何好处。使用请求库在这里对你没有帮助。我不得不使用 restler (https://www.npmjs.com/package/restler) 将整个多部分数据发送到一个块中。