Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Express 删除上载的文件,并使用_Express_Formidable - Fatal编程技术网

Express 删除上载的文件,并使用

Express 删除上载的文件,并使用,express,formidable,Express,Formidable,嘿,我正在使用强大的模块在我的应用程序中创建图像上传功能。上传图像时效果很好,但我想对其执行一些验证,如检查图像类型和图像大小,但我没有找到验证图像大小的方法 我不希望用户上传的图像超过1M字节 router.post('/upload',function(req,res,next){ var types = ['image/jpeg','image/png']; var error = true; var form = new formidable.IncomingForm(); fo

嘿,我正在使用强大的模块在我的应用程序中创建图像上传功能。上传图像时效果很好,但我想对其执行一些验证,如检查图像类型和图像大小,但我没有找到验证图像大小的方法

我不希望用户上传的图像超过1M字节

router.post('/upload',function(req,res,next){

var types = ['image/jpeg','image/png'];
var error = true;


var form = new formidable.IncomingForm();

form.uploadDir = path.join(__dirname,'../public/images/profile');


form.on('fileBegin',function(name,file){


    var type = types.find(type => type == file.type);

    if(!type){
        throw "Image should be in jpeg or png format.";
    }


});

form.on('file',function(name,file){

    fs.rename(file.path,path.join(form.uploadDir,file.name),function(err){
        if(err) console.log(err);
    });

});

form.on('error',function(err){
    if(err) console.log("Error");
});

form.on('end',function(){
    if(!error) console.log("updated"); 
});


form.parse(req);
});

看见它不直接受
强大的
(与,比如说,)支持,但是如果您在
文件开始
处理程序中检查
file.size
,您可能能够阻止大型上传。我将file.size记录在文件开始中,并且得到0作为回报。嗯,好吧,那不是很有用。您可能可以使用该事件来记录实际上载的数量,并在达到1MB限制时阻止上载。谢谢,我认为multer比其他功能更强大。