我是node js的新手。我有 html 表单,它有文件输入,如 -
<form action="importlist_action" method="post" enctype="multipart/form-data">
Select File:
<input type="file" name="file" id="file" tabindex="1" />
</form>
现在,我已将此发布请求重定向到以下 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
我想要在 Controller 中在上面的表单中选择的文件的路径。有人可以纠正我在这里做错了什么吗?
任何帮助将不胜感激。
最佳答案
如果您正在使用 Express 3.x 和 bodyParser() 中间件,那么您应该在 req.files
下查找文件。
如果您使用的是 Express 4.x,则必须使用单独的模块来读取多部分请求。此类模块的示例是:busboy (/connect-busboy/multer/reformed ) 和 formidable .
正如@adeneo 提到的,并非所有浏览器都提供实际文件路径,但大多数浏览器至少会提供一个文件名。 Busboy 和 Formidable 都为您提供文件名。
关于html - 如何在输入类型文件中选择的 Node js中获取文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23310575/