Node.js 使用Multer和Express上载和显示文件

Node.js 使用Multer和Express上载和显示文件,node.js,express,multer,Node.js,Express,Multer,我使用express和node从表单上传图像,但是所有文件名都显示为“8F92A1388F70C6C88EB32489F6BCC9”。连分机都没有。如何在客户端显示此信息?尝试: var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, '/where/ever/the/upload/dir/is') }, filename: function (req, file,

我使用express和node从表单上传图像,但是所有文件名都显示为“8F92A1388F70C6C88EB32489F6BCC9”。连分机都没有。如何在客户端显示此信息?

尝试:

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/' })
而不是:

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不会为您附加任何文件扩展名,您的函数应该返回一个完整的文件名和一个文件扩展名

,然后用什么替换upload.single('field')?注意:给定的属性名中有一个拼写错误-
文件。originalname
应该是
文件。originalname
@armadadrive同意。。编辑队列已满,因此我的更改无法转到。您是否找到此问题的解决方案?