Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQueryBlueImp文件上传:将N-1个文件上传到IE中的服务器_Javascript_Jquery_Ruby On Rails_Ruby On Rails 3_File Upload - Fatal编程技术网

Javascript jQueryBlueImp文件上传:将N-1个文件上传到IE中的服务器

Javascript jQueryBlueImp文件上传:将N-1个文件上传到IE中的服务器,javascript,jquery,ruby-on-rails,ruby-on-rails-3,file-upload,Javascript,Jquery,Ruby On Rails,Ruby On Rails 3,File Upload,我对Rails应用程序进行了一些修改。这些插件在Chrome和FF中运行良好,但在IE中存在问题 在IE(所有版本)中,我逐个选择多个文件并开始上传。该插件上载除一个文件外的所有文件。如果我选择上传单个文件,那么什么也不会发生 下面是main.js的内容 $(function () { 'use strict'; // Initialize the jQuery File Upload widget: $('#fileupload').fileupload();

我对Rails应用程序进行了一些修改。这些插件在Chrome和FF中运行良好,但在IE中存在问题

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

下面是main.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中,我删除了除+添加文件、开始上传按钮和进度条相关代码之外的所有内容


有人能帮我纠正这个问题吗?

最后,我在的帮助下找到了根本原因

在我们的应用程序中,我们通过提供两种方法来选择要上载的文件,从而定制了行为: 1) +添加文件按钮 2) 链接

观察到的行为:通过手动单击+添加文件按钮上载的所有文件均有效并成功上载

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

控制台还显示错误:在IE情况下,上述行为的SCRIPT5访问被拒绝

参考资料: