这是我的HTML如何用expressjs上传多个文件?
<form action="/keys/upload" method="post" enctype="multipart/form-data">
<ul>
<li><label>文件</label><input type="file" name="keys" multiple></li>
<li><input type="submit" value="submit"></li>
</ul>
</form>
这是我的把手功能
app.post('/keys/upload',keysRoutes.addKeys);
var addKeys=function(req,res){
var temppaths=req.files.keys[0].path;
console.log(temppaths);
res.end(JSON.stringify(temppaths));
};
这里,如果我上传多个文件,然后req.files.keys[0].path
工作正常,但是当我只能上传一个文件,它出错,我必须将其替换为req.files.keys.path
。我不知道要上传多少个文件,那我该怎么办?
有时req.files.keys是数组,有时候req.files.keys是对象。
哦,谢谢,我正在寻找一种方法来判断一个对象是否是一个数组,你给出的方法是简洁的,而方法Object.prototype.toString.call(paths)=='[object Array]'是非常单调乏味的。 – Arnold
另一个可能是'paths.constructor.name ==='Array''。 – robertklep