我是一个js新手,我目前正在尝试使用穆特上传一些文件。这是我的代码:
let express = require('express');
let im = require('imagemagick');
let gm = require("gm").subClass({
imageMagick: true
});
let multer = require('multer');
let app = express();
let storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/uploads')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
});
var upload = multer({storage: storage}).single('avatar');
app.post('/', function (req, res) {
upload(req, res, function (err) {
if (err instanceof multer.MulterError) {
res.json({
success: false,
message: 'error during uploading'
});
} else if (err) {
res.json({
success: false,
message: 'error during uploading'
});
}
res.json({
success: true,
message: 'Image uploaded'
});
})
})
app.listen(3000);当我用文件(表单数据)发送一个后置req时,我会得到一条成功消息,但是文件文件夹没有创建。
编辑:
我成功上传了文件..。我必须更改代码中上载目录的路径,如下所示:
let storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads/')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
});但是,上传目录需要手动创建,如果是missing...how,则不会自动创建它,我能解决这个问题吗?
发布于 2019-03-11 05:08:51
您可以检查这个问题:https://github.com/expressjs/multer/issues/287
它说你应该在“目的地”或预先要求中创建一个目录。
https://stackoverflow.com/questions/55080462
复制相似问题