【发布时间】:2016-05-18 04:54:23
【问题描述】:
我有使用 multer 模块的 express 节点应用程序 https://github.com/expressjs/multer
在app.js 文件中,我输入了以下内容:
var mulStorage = require("./utils/store"),
var upload = multer({
storage: mul.storage,
dest: 'uploads/'
});
app.use(upload.single('file'));
store.js 文件如下所示
var multer = require('multer');
var stor = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads/')
},
filename: function (req, file, cb) {
var filename = file.originalname;
var fileExtension = filename.split(".")[1];
cb(null, Date.now() + "." + fileExtension);
}
})
module.exports = {
stor: stor
}
当我使用邮递员运行请求时,出现以下错误:
错误:ENOENT:没有这样的文件或目录,打开 'c:\Users\c45669\WebstormProjects\App\uploads\1454935327214.zip'
在错误(本机)
如果文件夹不存在,为什么multer不创建它??
如果我在根目录下创建上传文件夹手动这是工作...
顺便说一句,
当我更改以下内容并删除 storage: mul.storage,
这是可行的,但我需要存储来确定文件名...
var upload = multer({
//storage: mul.storage,
dest: 'uploads/'
});
即使我从 multer 对象中删除属性 dest 并只保留存储,我也会遇到相同的错误...
【问题讨论】:
-
如答案中所述,multer 不会创建应手动或以编程方式创建的文件夹。假设存在上传文件夹,您是否还面临其他上传问题?
标签: javascript node.js express multipart multer