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

标签 html node.js file file-io

我是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/

相关文章:

html - 距中心的CSS边距

java - 为什么我会在文件关闭时关心 IOExceptions?

node.js - Redis SCAN 没有给出 NodeJS 和 node_redis 中的所有匹配项

javascript - NodeJS - 将相对路径转换为绝对路径

node.js - 使用 Angular 和 NodeJS 进行 Google 2 因素身份验证

c - 在 *.txt 文件中搜索并更新 1 行 - C 语言

java - 使用 JFileChooser 选择文件

jquery - 每次我将鼠标悬停在一个按钮上时,另一个按钮就会向右移动

html - 是否可以在 MAILTO 链接的正文中添加 HTML 链接

javascript - 随机背景图片按钮?