【问题标题】:Using Multer and Express to upload and display files使用 Multer 和 Express 上传和显示文件
【发布时间】:2015-10-11 14:43:15
【问题描述】:

我正在使用multer 从表单上传带有 express 和节点的图像,但是所有文件名都像“8f92a1388f70c6c88eb32489f6bcfcc9”。甚至没有附加扩展名。如何在客户端显示这个?

【问题讨论】:

  • 您找到解决此问题的方法了吗?

标签: node.js express multer


【解决方案1】:

试试:

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, '/where/ever/the/upload/dir/is')
  },
  filename: function (req, file, cb) {
    cb(null, file.orignalname)
  }
})

var upload = multer({ storage: storage })

代替:

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

请求文件:
通过在文件/或目录上设置适当的权限,您的服务器应该能够很好地请求它,如果您在写入文件后没有做任何花哨的事情,请记住显式写入带有扩展名的文件名;)

如果您想更好地控制您的上传,您需要使用 存储选项而不是 dest。 Multer 配备存储引擎 磁盘存储和内存存储;更多引擎可从第三 派对。 --马
参考:github: expressjs/multer

注意: Multer 不会为您附加任何文件扩展名,您的函数应该返回一个带有文件扩展名的完整文件名

【讨论】:

  • 那用什么代替upload.single('field')?
  • 注意:给定的属性名称中有错字 - file.orignalname 应该是 file.originalname
  • @armadadrive 同意.. 编辑队列已满,所以我的更改无法进入
猜你喜欢
  • 2016-10-22
  • 2017-03-01
  • 2016-01-16
  • 2016-06-14
  • 2018-07-21
  • 2021-08-11
  • 2020-05-03
  • 1970-01-01
  • 2016-03-09
相关资源
最近更新 更多