使用Multer和Express上传和显示文件

时间:2015-07-21 22:54:15

标签: node.js express multer

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

1 个答案:

答案 0 :(得分:4)

<强>尝试:

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配有存储引擎   DiskStorage和MemoryStorage;第三个提供更多引擎   派对。     - 马
  (参考: github: expressjs/multer

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