【问题标题】:Valums File Uploader - Allow single file upload onlyValums File Uploader - 仅允许单个文件上传
【发布时间】:2012-08-05 13:00:36
【问题描述】:

有没有办法让Valums File Uploader 只接受一个文件?

现在,使用multiple: false,您无法限制要上传的文件数量,但您可以让用户一个接一个地上传文件,而不是允许多选。

我只需要用户上传一个文件。如果上传文件后正在选择另一个文件,则上传的文件应替换为当前文件。

谁能帮我实现这个目标?

【问题讨论】:

    标签: javascript jquery file-upload valums-file-uploader


    【解决方案1】:

    为了限制只上传单个文件,我只是使用了onComplete 回调并删除了上传按钮,希望对您有所帮助:

    onComplete: function(id, fileName, responseJSON){
                    $('.qq-upload-button').remove();
                }
    

    【讨论】:

    • 这就是我最终想出的解决方案。但我想这不是一个好的解决方案。如果用户想要重新上传另一个文件而不是刚刚上传的文件怎么办? (更改上传的图片,说是因为他/她不喜欢它和/或上传了错误的图片?)
    • 我可能会通过上传文件的文件名添加删除按钮。该按钮将从服务器(ajax)中删除该文件并重新加载文件上传器。但这就是所有外部代码,与上传者分开。
    【解决方案2】:

    我认为隐藏按钮不是一个很好的选择,这就是我所做的。

    我基本上重写了 _storeFileForLater 方法

     qq.FileUploaderBasic.prototype._storeFileForLater = function(id){
                      if(!this._options.multiple){ 
    
                           this._storedFileIds = [];
                           this._storedFileIds.push(id);
                      }
                      else{
                            this._storedFileIds.push(id);
                          }
        }
    

    【讨论】:

      【解决方案3】:

      我在评论这一行时强制选择一个文件

      if (this._options.multiple){input.setAttribute("multiple", "multiple");} 和 多个:qq.UploadHandlerXhr.isSupported(),

      【讨论】:

        【解决方案4】:

        我知道您发布此内容已经有一段时间了,但我刚刚了解到 Valums File Uploader 的 2.0 beta 版支持 multiple: false 参数。

        你可以下载它here

        【讨论】:

          猜你喜欢
          • 2012-06-09
          • 2012-04-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-05
          • 2019-01-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多