我正在使用multer从表单上传带快递和节点的图像,但所有文件名称都是“8f92a1388f70c6c88eb32489f6bcfcc9”。甚至没有附加扩展名。如何在客户端显示这个?
答案 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不会为您附加任何文件扩展名,您的函数应返回带有文件扩展名的文件名