PayloadTooLargeError: слишком большой объект запроса при загрузке изображения с использованием угловых 7 и nodejs express - PullRequest
0 голосов
/ 08 апреля 2019

Я использую угловые 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)

1 Ответ

0 голосов
/ 08 апреля 2019

попробуйте добавить эту строку ниже строк кода парсера тела.

var cors = require('cors');
app.use(cors());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...