node.js - PayloadTooLargeError:使用 Angular 7 和 nodejs express 上传图像时请求实体太大
问题描述
我正在使用 Angular 7 和 nodejs express。我想实现上传图片。我的角度服务如下:
postImage(fileToUpload: File) {
const formData = new FormData();
formData.append("image", fileToUpload, fileToUpload.name);
return this.http.post(`${this.uri}/upload`, formData);
}
nodejs代码如下:
const multer = require("multer");
var storage = multer.diskStorage({
//multers disk storage settings
destination: function(req, file, cb) {
cb(null, "./uploads/");
},
filename: function(req, file, cb) {
var datetimestamp = Date.now();
cb(
null,
file.fieldname +
"-" +
datetimestamp +
"." +
file.originalname.split(".")[file.originalname.split(".").length - 1]
);
}
});
app.post("/upload", function(req, res) {
upload(req, res, function(err) {
if (err) {
res.json({ error_code: 1, err_desc: err });
return;
}
res.json({ error_code: 0, err_desc: null });
});
});
app.use(bodyParser.json({ limit: "50mb" }));
app.use(bodyParser.urlencoded({ limit: "50mb", extended: true }));
var upload = multer({
//multer settings
storage: storage,
limits: { fileSize: 100000000000 }
}).single("file");
但是我遇到了这个问题:
TypeError: app.enableCors is not a function
at Object.<anonymous> (D:\Projects\ServerShop\index.js:14:5)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
at startup (internal/bootstrap/node.js:285:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
解决方案
尝试在 body-parser 代码行下方添加这一行。
var cors = require('cors');
app.use(cors());
推荐阅读
- java - 在Java中解析字符串只要
- c++ - “如何修复未达到 ifsream 分配中第三个输出的代码”
- python - 使用 Cython 未观察到速度升级
- javascript - React JS 父子组件事件分享
- postgresql - 分析 PostgreSQL 执行计划
- node.js - 如何在 NodeJS 中使用 Azure Mobile Easy Tables 插入一行?
- python - pip 无法安装 cffi w/o gcc
- python - 我应该创建一个我经常使用的函数的python模块吗
- javascript - 当窗口在 IE 11 和其他较低版本中实际打开时,弹出/子窗口属性“关闭”始终为 true
- github - 如何将 Github 与 AWS Glue 中的数据目录集成