【问题标题】:jquery file upload restricting number of filesjquery文件上传限制文件数
【发布时间】:2013-04-15 08:54:35
【问题描述】:

我正在使用 jquery 文件上传将文件上传到服务器。我想限制用户最多上传 6 个文件。我搜索了 wiki jquery 文件上传,但没有找到它的参数。有什么方法可以限制用户上传的数量

【问题讨论】:

  • 您使用的是哪个 jquery 插件?通常在回调函数内部,它将这些文件保存在某种 json 数组中,您可以将其大小放入 if() 子句中
  • 为什么不工作的版本:stackoverflow.com/questions/21347805/…

标签: jquery jquery-file-upload


【解决方案1】:

使用maxNumberOfFiles这里是documentation

$('#fileuploadbasic').fileupload({

maxNumberOfFiles: 6

});

【讨论】:

  • 这在我的情况下不起作用。我可以选择超过 6 个文件,它还会上传所有选定的文件。
  • 我发现有时候浏览器会缓存.js文件。尝试刷新实际的 .js 页面,然后查看更改是否生效。
  • 这个答案应该被删除或至少澄清。它不再正确。仅当您将 jquery 文件上传与预制 UI 一起使用时,该 maxNumberOfFiles 选项才有效。否则你必须自己实现。
【解决方案2】:

ma​​xNumberOfFiles 对我不起作用,所以我做了以下操作

$('#fileuploadbasic').fileupload({
    change : function (e, data) {
        if(data.files.length>=5){
            alert("Max 5 files are allowed")
            return false;
        }
    },
    maxFileSize: 20000000,
    acceptFileTypes: /(\.|\/)(jpe?g|png)$/i,
});

【讨论】:

  • 太棒了,正是我需要的。
  • 由于某种原因我无法编辑答案,但是如果您将“更改”处理程序替换为“提交”,它将起作用。这对我有用,“改变”也不起作用:)
  • @naturalBornCamper 上面的代码是我们选择文件的时候。它在提交之前检查文件。
【解决方案3】:

您可以通过“Uploadhandler.php”文件限制上传文件。更改“max_number_of_files”选项。为我工作。但它仅在您上传文件时验证。

【讨论】:

  • 这是有效的。许多设置在客户端(通过 js)和服务器端(通过 PHP)都可用。我发现在两者上进行复制很有用,这样用户可以在文件上传之前获得客户端反馈,但服务器上也会进行更安全的验证。
  • 只要记住有一些地方可以显示这个限制。在我的情况下,100 次上传成功,其他失败,没有错误消息,只是“发生错误”。
【解决方案4】:

如果您使用的是“Krajee”文件上传,那么您将不得不使用

$('#fileuploadbasic').fileinput({
    maxFileCount: 6
});

如果设置为 0,则表示允许的大小不受限制。默认为 0。

【讨论】:

    【解决方案5】:

    你可以试试:

    $('#fileuploadbasic').fileupload({
      //.....
      paramName: 'your_input_name',
      add : function (e, data) {
        if(data.paramName != undefined) data.submit();
      }
    });
    

    【讨论】:

      猜你喜欢
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 2017-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多