0

我正在尝试通过从 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 流

我从上游服务器收到以下错误:

javax.servlet.ServletException:处理多部分/表单数据请求失败。直播意外结束

这里可能出了什么问题?

4

1 回答 1

0

我意识到已经有一段时间了,这是你们中的一些人可能遇到的问题,解决方案并不是我在评论中发布的,因为我后来发现了更多问题。我们遇到的问题是,我们发布多部分表单数据的 java servlet 无法处理分块数据,并且设置标题对您没有任何好处。在这里使用请求库对您没有帮助。我不得不使用 restler ( https://www.npmjs.com/package/restler ) 将整个多部分数据发送到一个块中。

于 2016-07-11T10:58:42.020 回答