【发布时间】:2015-10-11 14:43:15
【问题描述】:
我正在使用multer 从表单上传带有 express 和节点的图像,但是所有文件名都像“8f92a1388f70c6c88eb32489f6bcfcc9”。甚至没有附加扩展名。如何在客户端显示这个?
【问题讨论】:
-
您找到解决此问题的方法了吗?
我正在使用multer 从表单上传带有 express 和节点的图像,但是所有文件名都像“8f92a1388f70c6c88eb32489f6bcfcc9”。甚至没有附加扩展名。如何在客户端显示这个?
【问题讨论】:
试试:
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 不会为您附加任何文件扩展名,您的函数应该返回一个带有文件扩展名的完整文件名
【讨论】:
file.orignalname 应该是 file.originalname