我正在使用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)
答案 0 :(得分:0)
尝试将此行添加到代码的正文分析器行下方。
var cors = require('cors');
app.use(cors());