我是新来的js节点。我有一个html表单,它有如下文件输入-
<form action="importlist_action" method="post" enctype="multipart/form-data">
Select File:
<input type="file" name="file" id="file" tabindex="1" />
</form>
现在,我已经将这个post请求重定向到controller的以下方法。
exports.doImport = function(req, res) {
console.log('Post values: ' + JSON.stringify(req.body));
console.log("File path : " + req.body.file);
}
我来这里的结果是-
Post values: {}
File path : undefined
我想要在控制器中的上面的表单上选择的文件的路径。有人能纠正我这里做错了什么吗?
任何帮助都将不胜感激。
最佳答案
如果您使用的是Express 3.x和bodyParser()中间件,那么您应该在req.files
下查找文件。
如果使用Express 4.x,则必须使用单独的模块来读取多部分请求。这些模块的示例有:busboy(/connect-busboy/multer/reformed)和formidable。
正如@adeneo所提到的,并非所有浏览器都提供实际的文件路径,但大多数浏览器至少会提供一个文件名。Busboy和greedge都为您提供了文件名。
关于html - 如何在输入类型文件中选择的 Node js中获取文件路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23310575/