指定上传路径为./uploads后图片仍存入tmp文件夹,Multer配置问题
解决Multer上传文件存入tmp而非指定uploads文件夹的问题
嘿,我一眼就发现问题所在啦——你的Multer配置里有个拼写错误!
看这段代码里的desitnation,正确的属性名应该是destination(少写了一个'n')。正因为属性名写错了,Multer识别不到你自定义的存储配置,就自动 fallback 到默认的临时文件夹(tmp)来存储文件了。
修正后的完整代码:
const multer = require("multer"); const storage = multer.diskStorage({ destination: function(req, file, cb){ // 这里修正了拼写错误 cb(null, './uploads/'); }, filename: function(req, file, cb){ cb(null, file.originalname); } }) const upload = multer({storage: storage});
额外注意事项:
- 确保你的项目根目录下已经手动创建了
uploads文件夹,Multer不会自动帮你生成目录,如果文件夹不存在,上传操作会直接报错。 - 如果是在生产环境使用,建议改用绝对路径(比如借助
path模块生成),避免因当前工作目录变化导致路径失效。示例代码如下:const path = require('path'); // ... destination: function(req, file, cb){ cb(null, path.join(__dirname, './uploads/')); }
内容的提问来源于stack exchange,提问作者Santosh
相关产品推荐
相关产品推荐

