'File Limitation in express server (Bigger than 50MB)
Is there any way to upload file bigger than 50 mb in the express server. As it shows the limitation of file not more than 50 mb?
Thanks.
Solution 1:[1]
I used multer to upload files with greater size using GridFsStorage and streams.
const multer = require("multer");
const { GridFsStorage } = require("multer-gridfs-storage");
const Grid = require("gridfs-stream");
const conn = mongoose.createConnection(mongoURI);
// Init gfs
let gfs;
conn.once("open", () => {
// Init stream
gfs = Grid(conn.db, mongoose.mongo);
gfs.collection("uploads");
});
// Create storage engine
const storage = new GridFsStorage({
url: mongoURI,
file: (req, file) => {
return new Promise((resolve, reject) => {
crypto.randomBytes(16, (err, buf) => {
if (err) {
return reject(err);
}
const filename = buf.toString("hex") + path.extname(file.originalname);
const fileInfo = {
filename: filename,
bucketName: "uploads",
};
resolve(fileInfo);
});
});
},
});
const upload = multer({ storage });
// @route POST /upload
// @desc Uploads file to DB
app.post("/upload", upload.single("file"), (req, res) => {
// res.json({ file: req.file });
res.redirect("/");
});
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Asad Ashraf |
