【发布时间】:2019-02-10 03:20:32
【问题描述】:
我已经使用 multer 和 express 创建了一个文件上传 API,它可以通过 POSTMAN 正常工作,但是当我尝试使用另一个文件上传 API 调用相同的 api 时,它不起作用:
我的代码如下在http://localhost:7022/nuxeo/upload上运行:
module.exports.upload = function (req, res, next) {
var path = req.body.path
var uploadFile = req.file; //get uploaded file
var stream = streamifier.createReadStream(req.file.buffer) //create a stream from file buffer
var blob = new Nuxeo.Blob({ //create a blob from file stream
content: stream,
name: uploadFile.originalname,
mimeType: uploadFile.mimetype,
size: uploadFile.size
});
var batch = nuxeo.batchUpload();
在上面的代码中,当我通过邮递员调用 API 时,我的 req.file 被填充。
但是使用下面的代码调用上面的 API 不会填充第一个 API 的 req.file,它是未定义的。我也尝试过使用 form-data npm 模块,但没有任何运气:
module.exports.attach = function(req,res,next){
var uploadfile = req.file //file is populated here
formData = { 'file' : uploadfile, 'path' : '/FCA/DT/clause32a'}
var opts = {
url: "http://localhost:7022/nuxeo/upload",
headers: { 'enctype': 'multipart/form-data;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' },
json: true,
body: formData
};
request.post(opts,function(err,response,body){
console.log(body)
})
}
【问题讨论】:
-
如果它与邮递员一起工作,服务器端应该可以正常工作。您可以发布客户端代码或html
-
第二个 API 就像一个客户端,我在第二个 API 的 req.file 中接收上传的文件,该文件应该将此 req.file 发送到第一个 API
-
我正在尝试做这样的事情:stackoverflow.com/questions/46975590/…
标签: javascript node.js express multer