【发布时间】:2015-12-07 22:22:52
【问题描述】:
这个文件存储在我设置的“上传”文件夹中。 我的代码如下:
var multer = require('multer')
var upload = multer({dest:'./uploads/'});
//var upload = multer({ storage: storage });
var app = express();
app.use(app.router);
app.post('/upload', upload.single('puzzle'), function (req, res, next) {
console.log(req.file);
});
但我想将我的文件名设置为“abc.png”而不是“abc”
我阅读了文档,发现是这样的
var 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 });
所以我修改后的代码如下:
var multer = require('multer')
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/uploads');
},
filename: function (req, file, cb) {
cb(file.filename+'.png', file);
}
});
var upload = multer({ storage: storage });
var app = express();
app.use(app.router);
app.post('/upload', upload.single('puzzle'), function (req, res, next) {
console.log(req.file);
});
但在这种情况下,出现错误并显示 'Error: ENOENT, open '/uploads/puzzle-1449496743377' ,不像上图...
我该如何解决这个问题?
我相信很多像我这样的新手开发者都会因为不友善的文档而遇到麻烦...
【问题讨论】:
标签: javascript node.js multer