【问题标题】:jQuery blueimp File Upload : Uploads N - 1 files to server in IEjQuery blueimp 文件上传:上传 N - 1 个文件到 IE 中的服务器
【发布时间】:2012-09-06 14:40:44
【问题描述】:

我已经修改了demo 一点点,以便在我的 Rails 应用程序中使用。这些插件在 Chrome 和 FF 中运行良好,但在 IE 中存在问题。

在 IE(所有版本)中,我一一选择多个文件并开始上传。该插件只上传一个文件。如果我选择单个文件上传,那么什么都不会发生。

这是 ma​​in.js

的内容
$(function () {
    'use strict';

    // Initialize the jQuery File Upload widget:
    $('#fileupload').fileupload();

    // Enable iframe cross-domain access via redirect option:
    $('#fileupload').fileupload(
        'option',
        'redirect',
        window.location.href.replace(
            /\/[^\/]*$/,
            '/cors/result.html?%s'
        )
    );

    //Reference :
    // https://github.com/blueimp/jQuery-File-Upload/issues/1324
    // https://github.com/blueimp/jQuery-File-Upload/issues/841
    $('#fileupload').bind('fileuploadsubmit', function (e, data) {
        var inputs = data.context.find(':input');
        if (inputs.filter('[required][value=""]').first().focus().length) {
            return false;
        }
        data.formData = inputs.serializeArray();
    });

    $('#fileupload').bind('fileuploadadd', function (e, data) {
        alert('file added');
    });


    $('#fileupload').fileupload('option', {
        url: '/gallery',
        maxFileSize: 5000000,
        acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
        process: [
            {
                action: 'load',
                fileTypes: /^image\/(gif|jpeg|png)$/,
                maxFileSize: 20000000 // 20MB
            },
            {
                action: 'resize',
                maxWidth: 1440,
                maxHeight: 900
            },
            {
                action: 'save'
            }
        ]
    }).bind('fileuploadstop', function (e, data) {
        alert('files uploaded');
      });

});

从演示 html 中,我删除了除 + 添加文件和开始上传按钮和进度条相关代码之外的所有代码。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: javascript jquery ruby-on-rails ruby-on-rails-3 file-upload


    【解决方案1】:

    终于在@Jignesh的帮助下找到了根本原因。

    在我们的应用程序中,我们通过提供两种选择要上传的文件的方式来自定义行为: 1) + 添加文件按钮 2) 链接

    观察到的行为:通过手动单击 + 添加文件 按钮上传的所有文件都可以正常工作并成功上传。

    但是使用 链接 选择的文件不会。原因是 link 以编程方式触发 + 添加文件 按钮上的 CLICK 事件,IE 不支持该事件,因此不会启动 POST 请求使用链接选择要上传的文件。

    控制台也显示错误:SCRIPT5 Access Denied for above observed behavior in case of IE.

    参考资料:

    1. https://stackoverflow.com/a/1829817
    2. https://github.com/blueimp/jQuery-File-Upload/issues/1382
    3. https://github.com/blueimp/jQuery-File-Upload/issues/457

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-18
      • 2015-02-03
      • 1970-01-01
      • 2016-05-23
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      相关资源
      最近更新 更多