我有一台需要上传文件的服务器,我尝试过 multiparty , connect-multiparty 和 multer 。 但是每个案例都有同样的问题:文件只上传了一些时间,我的意思是,我可以发送一个文件,库有可能不解析文件,也不会继续代码,导致不上传文件。
在一段时间内,请求发送错误"请求中止",但它在请求超时时的正常响应
这是有问题的node.js文件:
var multiparty = require('multiparty');
var multer = require('multer');
var upload = multer({
dest: "/uploads/"
});
///----rest of code----
//1. Multiparty
app.post("/upload",[function(req, res){
var form = new multiparty.Form({uploadDir:'/uploads/'});
console.log("to upload")
form.parse(req, function (err, fields, files) {
console.log("uploaded");
res.json({uploaded: true});
})
}]
//2. multer
app.post("/upload2",[
function(req, res, next){
console.log("to upload");
next();
},
upload.fields([
{name: "file"},
{name: "thumbnail"}
]),
function(req, res){
console.log("uploaded");
res.json({uploaded: true});
}]
答案 0 :(得分:1)
确保您的表单看起来像这样
<form enctype="multipart/form-data" action="..." method="...">
...
</form>
说实话,你最好使用node-formidable。它是npm上最常用的multipart / form-data包。
该示例直接开箱即用。
干杯
答案 1 :(得分:0)
https://stackoverflow.com/a/23975955/4920678 我正在使用此答案中的设置,在同一个端口上使用http和https。 事实证明,使用该代理的设置损坏了太大或类似的包,然后文件永远不会被解析