如何在输入类型文件中选择Node js中获取文件路径



我是js节点的新手。我有一个html表单,它有像-这样的文件输入

  <form action="importlist_action" method="post" enctype="multipart/form-data">
  Select File: 
  <input type="file" name="file" id="file" tabindex="1" />
  </form>

现在,我已经将这个帖子请求重定向到控制器的以下方法。

 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

我想要在控制器中的上面表格上选择的文件的路径。有人能纠正我在这里做错了什么吗?

任何帮助都将不胜感激。

如果您使用Express3.x和bodyParser()中间件,那么您应该在req.files下查找文件。

如果您使用的是Express4.x,那么您必须使用一个单独的模块来读取多部分请求。这类模块的例子有:busboy(/connect-busboy/multer/reformed)和令人生畏。

正如@adeneo所提到的,并非所有浏览器都提供实际的文件路径,但大多数浏览器至少会提供一个文件名。Busboy和Formidable都可以为您提供文件名。

您必须注意,node.js不会像PHP那样默认上传文件夹中的文件。

你可能正在寻找一个中间件来为你做这件事:

http://www.senchalabs.org/connect/bodyParser.html

相关内容

  • 没有找到相关文章

最新更新