gpt4 book ai didi

node.js - 使用multer上传时如何限制文件大小?

转载 作者:IT老高 更新时间:2023-10-28 23:00:47 25 4
gpt4 key购买 nike

我正在用 multer 制作一个简单的文件上传系统:

var maxSize = 1 * 1000 * 1000;

var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, 'public/upload');
},
filename: function (req, file, callback) {
callback(null, file.originalname);
},
onFileUploadStart: function(file, req, res){
if(req.files.file.length > maxSize) {
return false;
}
}

});

var upload = multer({ storage : storage}).single('bestand');

router.post('/upload',function(req,res){
upload(req,res,function(err) {
if(err) {
return res.end("Error uploading file.");
}
console.log(req.file);
res.redirect(req.baseUrl);
});
});

这一切正常,文件被上传。唯一不起作用的是最大尺寸的限制。我这样做是为了让 onfileupload start 检查文件的大小,如果它太大,它将返回 false。但是文件仍然刚刚上传。

似乎 onFileUploadStart 根本没有做任何事情。我试图在其中 console.log 一些东西,但什么也没有。

我做错了什么?使用 multer 上传时如何限制文件大小?

最佳答案

新的 multer API 没有 onFileUploadStart。如果要限制文件大小,则应改为将 limits: { fileSize: maxSize } 添加到传递给 multer():

的对象中
var upload = multer({
storage: storage,
limits: { fileSize: maxSize }
}).single('bestand');

关于node.js - 使用multer上传时如何限制文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34697502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com