Я хочу загрузить изображения товара, используя Node Js.Поэтому я использовал multer для загрузки изображений.Я использовал почтальон, чтобы проверить, работает ли он, но он возвращает Please upload a file
.Я изменил другое изображение, тогда оно говорит PayloadTooLargeError: request entity too large
.
MyCode
const express = require("express");
const router = express.Router();
const multer = require('multer');
const storage = multer.diskStorage(
{
destination: function(req, file, cb)
{
cb(null, './uploads/');
},
filename: function(req, file, cb)
{
cb(null, new Date().toISOString() + file.originalname);
}
});
const fileFilter = (req, file, cb) =>
{
// reject a file
if (file.mimetype === 'image/jpeg' || file.mimetype === 'image/png')
{
cb(null, true);
}
else
{
cb(null, false);
}
};
const upload = multer(
{
storage: storage,
limits:
{
fileSize: 1024 * 1024 * 50
},
fileFilter: fileFilter
});
router.post("/upload", upload.single('productImage'), (req, res, next) =>
{
if (!req.file)
return res.send('Please upload a file')
var tempPath = req.file.path
console.log(tempPath);
});
package.json
{
"name": "api",
"version": "1.0.0",
"description": "testing version",
"main": "server.js",
"dependencies": {
"express": "^4.16.4",
"multer": "^1.3.0",
"nodemon": "^1.18.10",
},
"devDependencies": {},
"scripts": {
"test": "node server.js",
"start": "nodemon server.js"
},
"keywords": [
"api"
],
"author": "tteam",
"license": "ISC"
}