Multer Node.js的文件上传mime类型问题



在我的项目中,我用Multer上传了一个Photoshop文件,但当我放入mime类型的Photoshop、wave和mp3文件时,我得到了这个错误:

Error: Mime type invalide
at DiskStorage.destination [as getDestination] (C:Users21653DesktopvagaBeatsbacksrcmidllewareartworkImageUploader.js:14:21)
at DiskStorage._handleFile (C:Users21653DesktopvagaBeatsbacknode_modulesmulterstoragedisk.js:31:8)
at C:Users21653DesktopvagaBeatsbacknode_modulesmulterlibmake-middleware.js:144:17
at allowAll (C:Users21653DesktopvagaBeatsbacknode_modulesmulterindex.js:8:3)
at wrappedFileFilter (C:Users21653DesktopvagaBeatsbacknode_modulesmulterindex.js:44:7)
at Busboy.<anonymous> (C:Users21653DesktopvagaBeatsbacknode_modulesmulterlibmake-middleware.js:114:7)
at Busboy.emit (events.js:315:20)
at Busboy.emit (C:Users21653DesktopvagaBeatsbacknode_modulesbusboylibmain.js:38:33)
at PartStream.<anonymous> (C:Users21653DesktopvagaBeatsbacknode_modulesbusboylibtypesmultipart.js:213:13)
at PartStream.emit (events.js:315:20)

这是我的代码:

const multer = require("multer");
const path = require('path');
const MIME_TYPE_MAP = {
"image/png": "png",
"image/jpeg": "jpg",
"image/jpg": "jpg",
"file/psd": "psd" // i got a problem with this MIME TYPE
};
const storage = multer.diskStorage({
destination: (req, file, cb) => {
const isValid = MIME_TYPE_MAP[file.mimetype];
let error = new Error("Mime type invalide");
if (isValid) {
error = null;
}
cb(error, path.join(__dirname, '../../', 'images/artworkImages'));
},
filename: (req, file, cb) => {
const name = file.originalname
.toLowerCase()
.split(" ")
.join("-");
console.log(file)
const ext = MIME_TYPE_MAP[file.mimetype];
cb(null, name + "-" + Date.now() + "." + ext);
}
});
module.exports = multer({ storage: storage }).fields([
{ name: "Image"},
{name:"untagedartwork"},
{name:"psd_file"} //this is the file that i want to upload it to the server
]);
你能帮我解决这个问题吗

尝试将file/psd更改为以下内容(第一个应该有效(:

image/vnd.adobe.photoshop
application/x-photoshop
application/photoshop
application/psd
image/psd

相关内容

最新更新