node.js - Multer 将图像上传到节点 js 服务器(Github 作为存储)
问题描述
我部署了一个基于 Web 的应用程序,但 multer 上传不起作用。它确实在本地主机中工作,没有错误,但文件/s 没有保存在我的导演中。这是我的代码:
const multer = require("multer");
const imageFilter = (req, file, cb) => {
if (file.mimetype.startsWith("image")) {
cb(null, true);
} else {
cb("Please upload only images.", false);
}
};
var storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, __basedir + "/resources/static/assets/uploads/");
},
filename: (req, file, cb) => {
cb(null, `${file.originalname}`);
},
});
var uploadFile = multer({ storage: storage, fileFilter: imageFilter });
module.exports = uploadFile;
解决方案
发生的情况是该__basedir
表达式将导致“未捕获的 ReferenceError:__basedir 未定义”错误,但它在代码中被默默地吃掉了。要使错误正确传播,请尝试在违规行周围添加 try-catch 块:
const storage = multer.diskStorage({
destination: (req, file, cb) => {
try {
cb(null, __basedir + "/resources/static/assets/uploads/");
} catch (e) {
cb(e);
}
},
filename: (req, file, cb) => {
cb(null, `${file.originalname}`);
}
});
推荐阅读
- tumblr - 如何为这个主题的 Tumblr 主题灯箱添加字幕?
- go - 如何使用 gdb 或 delve 为 go 方法设置断点
- ios - 当我使用 iqkeyboardmanager 点击 UITextField 时,为什么我的应用程序会崩溃?
- visual-studio-2013 - 错误 - 系统找不到指定的文件
- php - 为什么我在 php 文件中出现意外的“}”语法错误
- python - 我需要在句子中找到一个单词,然后捕获到控制字符
- c# - 在android中添加singalr Dependency会导致库依赖错误
- android - 如何在用户在 Android 中的 EditText 中输入的每个新行上添加项目符号?
- elm - 如何使用 Elm 保留错误颜色而不是全红色
- list - 在 Terraform 的 file() 中使用函数 var{count.index} 创建 AWS IAM 策略