【问题标题】:Refresh plupload刷新插件
【发布时间】:2011-06-10 21:25:41
【问题描述】:

我正在使用 plupload。

传输队列完成后如何重置上传器,以便用户可以根据需要上传更多文件?

【问题讨论】:

    标签: plupload


    【解决方案1】:

    uploader.splice(); 将从队列中删除所有文件并使上传器对象准备好重新开始。

    【讨论】:

    • 哇——真的……谁能想到? splice();我为此绞尽脑汁.. 不错!
    • 让人们知道队列小部件中添加了一个新选项,以重置上传表单以允许多次上传。如plupload.com/docs/pluploadQueue 中所述,只需将选项multiple_queues: true, 添加到您的选项中即可。
    • @JeffWilbert 要么我遗漏了什么,要么docs 说的不正确,multiple_queues 默认设置为true。这是不是正确的。默认为false,开发者必须强制true
    • @trejder 可能是这样。看来文档默认情况下说它是真的。但是根据 v1.3 中的plupload.com/punbb/viewtopic.php?id=370,当它第一次添加到脚本时,它默认是禁用的。所以谁知道他们什么时候把它默认为 true,如果它现在真的默认为 true 并且文档是错误的,就必须 DL 最新版本并进行测试。
    【解决方案2】:
    uploader.splice();
    
    uploader.refresh();
    

    按这个顺序...在 jquery.ui 模式下工作。

    【讨论】:

    • 要么我遗漏了一些东西,要么这个解决方案不幸地不适用于 QueueWidget(按钮在 .splice() 之后消失)。看来,您的答案仅适用于 UI 模式,正如您所写 (+1)。
    【解决方案3】:

    现在有一个选项可以在上传完成后自动重置队列小部件。

    http://www.plupload.com/documentation.php

    多个队列

    布尔状态,是否应该能够多次上传。

    【讨论】:

    • 是答案。效果很棒。
    • 这是实际答案。
    【解决方案4】:

    jayarjo 的解决方案会从上传器中删除文件,但不会恢复添加/上传按钮。

    这个有效...

    http://www.plupload.com/punbb/viewtopic.php?pid=1360#p1360

    【讨论】:

    【解决方案5】:

    按此顺序:

            var uploader = $('#uploader').plupload('getUploader');
            uploader.splice();
            uploader.refresh();
    

    我正在使用一个功能,该功能正在使用其他内容重置表单,但无法重置 plupload。我不介意它不会再次出现 Drag Files here 文本,尽管我认为它可以被蒙混过关。它可能与计数有关。例如,我有这些参数:

                       uploader_0_name          account-disabled-1.png
                       uploader_0_status    done
                       uploader_count           1
    

    也许删除这些输入不是一个好主意,但将它们恢复到初始状态可能会起作用。我会研究一下,并在它发展时回来。谢谢你的好建议。

    【讨论】:

      【解决方案6】:

      我绑定到 UploadComplete 事件以在上传完成时删除并重新初始化 plupload 对象。事实证明,这对我来说是最好的实现。

      有了这个实现,只需调用 init_uploader() 来初始化——在这种情况下,jquery 页面加载完成。

      HTML:

      <div id="uploader_wrapper"></div>
      

      Javascript:

      function init_uploader()
      {
          $("#uploader_wrapper").append('<div id="uploader"><img src="/images/loading.gif" /></div>');
      
          $("#uploader").pluploadQueue({
              runtimes: 'html5,html4,gears,browserplus,flash,silverlight',
              url: 'some_url',
              max_file_size: '10mb',
              chunk_size: '1mb',
              unique_names: true,
              filters: [
                  { title: "Image files", extensions: "jpg,gif,png,jpeg" }
              ],
              flash_swf_url: 'http://www.plupload.com/plupload/js/plupload.flash.swf',
              silverlight_xap_url: 'http://www.plupload.com/plupload/js/plupload.silverlight.xap'
          });
      
          var uploader = $('#uploader').pluploadQueue();
      
          uploader.bind("UploadComplete", function () {
              $("#uploader").remove();
              init_uploader();
          });
      }
      
      $(function () {
          init_uploader();
      });
      

      【讨论】:

      • 你应该多解释一下你的答案。
      猜你喜欢
      • 2012-08-13
      • 2013-11-15
      • 2018-08-20
      • 2017-08-08
      • 2012-10-26
      • 1970-01-01
      • 2016-10-14
      • 2012-07-06
      • 1970-01-01
      相关资源
      最近更新 更多