【问题标题】:Jquery File Upload invoking upload handler on load加载时调用上传处理程序的 Jquery 文件上传
【发布时间】:2018-10-30 10:12:02
【问题描述】:

我正在使用 jQuery 文件上传 (https://github.com/blueimp/jQuery-File-Upload)。我正在为我的服务器端上传处理程序使用 Terascript,它似乎工作正常。

但不幸的是,在您告诉它要上传哪些文件并手动触发上传之前,jQuery File Upload 似乎想在加载时调用上传处理程序。上传处理程序会创建一个随机名称,但当然没有与之关联的实际文件。

http://dev.over60travel.com/sandbox/jquery-file-uploads/index.html

之后似乎一切正常。但是为什么它会触发加载上传呢?

【问题讨论】:

  • 你复制了整个演示网站吗?只需使用您需要的 javascript 函数并相应地更新您的问题。演示页面中有数千行代码,但您只需要几行。最好阅读有关如何使用 jquery 插件的文档。
  • 这将是一个更好的起点恕我直言:github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin 您需要 和相应的 javascript sn-p 进行简单设置。
  • 我将整个存档复制到了我的服务器上,但只根据文档中的说明修改了一个版本(Basic Plus UI)。我将 main.js 中的一行从“server/php/”更改为“/utils/image_upload.taf”。我还将输入字段的名称从“文件 []”更改为“文件”,因为我的上传处理程序不喜欢 []。
  • 我修改了所有其他版本,现在它们都可以正常工作了。基本和基本加工作正常。 Basic Plus UI、AngularJS 和 JQuery UI 都存在这个问题。
  • 我已经删除了所有不必要的菜单和块引用,所以它更加准系统。

标签: javascript jquery file jquery-file-upload blueimp


【解决方案1】:

感谢 jQuery-File-Upload 的作者 Sebastian Tschan 对这个问题的回答。

在加载时,应用确实会调用上传模块。我仍然不完全确定为什么,但阻止它的方法是注释掉“main.js”中的以下行。

        // Load existing files:
//    $('#fileupload').addClass('fileupload-processing');
//    $.ajax({
        // Uncomment the following to send cross-domain cookies:
        //xhrFields: {withCredentials: true},
//        url: $('#fileupload').fileupload('option', 'url'),
//        dataType: 'json',
//        context: $('#fileupload')[0]
//    }).always(function () {
//        $(this).removeClass('fileupload-processing');
//    }).done(function (result) {
//        $(this).fileupload('option', 'done')
//            .call(this, $.Event('done'), {result: result});
//    });

【讨论】:

    【解决方案2】:

    周五晚上我突然意识到这实际上是一个文件管理(而不是上传)界面。在加载时,您正在请求现有文件的列表,这就是导致我的问题的过程。抱歉有点慢。 ;)

    我已经更改了我的上传处理程序,因此如果在没有文件参数的情况下调用它,它不会返回任何内容。那是我最初的治疗方法。然后塞巴斯蒂安建议删除请求它加载的代码,这是一个更好的解决方案。现在我明白了为什么它被称为 onload,我想我会尝试让它按最初的预期工作。

    我取消了代码的注释并更改了我的上传处理程序,因此如果没有发送文件参数,它会以文档中指定的格式返回 JSON。太棒了!

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 2023-01-20
      • 2011-02-19
      相关资源
      最近更新 更多