Javascript expressjs文件上传,检查是否确实发送了文件,指定最大文件大小&;保留它的名字

Javascript expressjs文件上传,检查是否确实发送了文件,指定最大文件大小&;保留它的名字,javascript,node.js,file-upload,express,Javascript,Node.js,File Upload,Express,使用expressjs大约一个月了,现在我偶然发现了文件上传的问题。尽管咨询了谷歌和各种博客,我还是未能找到以下三个问题的答案: 我必须做什么/我必须选择bodyParser的哪些设置才能: 确保确实上载了一个文件(当前,在提交表单时未选择文件,将创建一个空文件) 在哪里可以为文件允许的最大大小指定一个值 我怎样才能省略文件的重命名 目前,我在我的express(3.0.0版)应用程序中包括bodyParser,并提供以下选项: {keepExtensions: true, uploadDir:

使用expressjs大约一个月了,现在我偶然发现了文件上传的问题。尽管咨询了谷歌和各种博客,我还是未能找到以下三个问题的答案:

我必须做什么/我必须选择bodyParser的哪些设置才能:

  • 确保确实上载了一个文件(当前,在提交表单时未选择文件,将创建一个空文件)

  • 在哪里可以为文件允许的最大大小指定一个值

  • 我怎样才能省略文件的重命名

  • 目前,我在我的express(3.0.0版)应用程序中包括bodyParser,并提供以下选项:

    {keepExtensions: true, uploadDir: __dirname + '/public/uploads'}
    

    我最近遇到了类似的问题。 对于问题2,请检查

    app.use(express.limit('4M'));//在您的应用程序中。configure()

    关于你的担心

    确保确实上传了文件(当前,提交时 不选择文件的表单(将创建空文件)

    经过长时间的搜索,我找到了一个很好的解决办法

    首先,您需要安装

    然后在包含库之后,首先检查文件是否上传

    var form = new formidable.IncomingForm();
    
    form.parse(req, function(err, fields, files) {
      if (Object.keys(files).length !== 0) {
        console.log("File is exist")
      } else {
        console.log("File is not exist")
      }
    });
    
    关于你可以检查的尺寸

    form.maxFieldsSize = 2 * 1024 * 1024;
    
    致以最良好的祝愿


    阿卜杜勒·阿齐兹·努尔

    非常感谢你在这一点上帮了我的忙——很奇怪,没有提供任何参数可以让你直接处理这类事情。
    form.maxFieldsSize = 2 * 1024 * 1024;