【问题标题】:Unable to get req.file.path [closed]无法获取 req.file.path [关闭]
【发布时间】:2018-12-30 02:57:47
【问题描述】:

我得到 req.file 得到如下响应

{ fieldname: 'product_image',
  originalname: '71ELL0gnILL._UL1500_.jpg',
  encoding: '7bit',
  mimetype: 'image/jpeg',
  buffer: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff db 00 43 00 05 03 04 04 04 03 05 04 04 04 05 05 05 06 07 0c 08 07 07 07 07 0f 0b 0b 09 ... >,
  size: 206437 }

但是 req.file.path 我没有定义

这是来自 MEAN 堆栈,我正在从客户端(Angular)上传文件并将其发送到节点,但它不工作。

请任何人帮助我。

【问题讨论】:

  • 请提供一些代码以及如何发送文件
  • 你需要一些分段上传中间件来获取req.file
  • 我正在使用一个 API 从 angular 4 上传文件我将它发送到后端我得到 req.file 很好但是路径有问题,我也在节点上使用 multer

标签: node.js angular express mean-stack multer


【解决方案1】:

在其默认配置中,multer 会将整个文件保存在内存中,因此 path 属性不存在,因为文件路径仅对已存储在文件系统上的文件有意义。

为了让multer 将上传的文件存储到磁盘,您必须像这样传递一个上传目标

var upload = multer({ dest: 'uploads/' })

或将自定义的DiskStorage 传递为explained here

【讨论】:

  • 谢谢它对我有用,你拯救了我的一天
猜你喜欢
  • 1970-01-01
  • 2018-07-22
  • 2022-08-05
  • 2014-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-20
  • 2018-11-12
相关资源
最近更新 更多