3

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

4

1 回答 1

4

try:

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 })

Instead of:

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

Requesting the file:
With the proper permissions set on the file/or directory your server should be able to request it fine, remember to explicitly write the file name with an extension if you aren't doing anything fancy after the file is written ;)

If you want more control over your uploads, you'll want to use the storage option instead of dest. Multer ships with storage engines DiskStorage and MemoryStorage; More engines are available from third parties. --The Horse
(ref: github: expressjs/multer)

Note: Multer will not append any file extension for you, your function should return a filename complete with an file extension

于 2015-07-23T01:11:30.967 回答