jQuery 文件上传插件不起作用

标签 jquery jquery-file-upload

我正在尝试在我的网站中使用 jQuery 文件上传插件,但目前这是不可能的,而且文档是我见过的最糟糕的。我唯一能看到的是一些演示文件,其中有很多行代码,没有任何解释。

我尝试在我的网站中使用它,演示中包含 CSS 和 JS 文件,但文件上传插件未按应有的方式呈现。

经过一些研究,我发现 jquery.fileupload-jquery-ui.js 的 _renderUpload 方法从未被调用。同一个文件的_create方法也没有。这些方法负责添加CSS类,以便文件上传看起来更好。

这是我的 HTML 代码:

<div class="fileupload-buttonbar">
    <div class="fileupload-buttons">
        <span class="fileinput-button">
            <span>Agregar archivo...</span>
            <input type="file" name="files[]">
        </span>
        <button type="submit" class="start">Importar</button>
    </div>
    <div class="fileupload-progress fade" style="display:none">
        <!-- The global progress bar -->
        <div class="progress" role="progressbar" aria-valuemin="0" aria-valuemax="100"></div>
        <!-- The extended global progress information -->
        <div class="progress-extended">&nbsp;</div>
    </div>
</div>              
<table role="presentation"><tbody class="files"></tbody></table>

这是初始化:

$(function () {
            $('#fileupload').fileupload({
                url: '@Url.Action("Import")',
                disableImageResize: false,
                maxFileSize: 30000,
                acceptFileTypes: /(\.|\/)(csv|txt|xls|xlsx)$/i,
                singleFileUploads: true,
                autoUpload: false,
                maxNumberOfFiles: 1,
                change: function (e, data) {
                    alert(data.files.length);
                    $.each(data.files, function (index, file) {
                        $('#import_file').text(file.name);
                        $('button#import').attr('style', 'display: ');
                        $('span#status').text('');
                    });
                },
                add: function (e, data) {
                    alert(data.files);
                    data.context = $('button#import')
                        .click(function () {
                            data.context = $('span#status').text('Importando...');
                            $('button#import').attr('style', 'display: none');
                            data.submit();
                        });
                },
                done: function (e, data) {
                    data.context.text('Completo.');
                    $("#administradores").trigger("reloadGrid", [{ page: 1 }]);
                }
            });

                $('#fileupload').addClass('fileupload-processing');
}

最后,我告诉我要包含以下 CSS 文件:jquery.fileupload-ui.css

这是按以下顺序排列的 JS 文件:

  • jquery.ui.widget.js
  • jquery.iframe-transport.js
  • jquery.fileupload.js
  • jquery.fileupload-process.js
  • jquery.fileupload-validate.js
  • jquery.fileupload-ui.js
  • jquery.fileupload-jquery-ui.js

任何帮助将不胜感激

谢谢 海梅

最佳答案

我的 div id 错误。这就是问题所在。

问候, 海梅

关于jQuery 文件上传插件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18791520/

相关文章:

javascript - 从所有数组项中切片字符

javascript - 为什么这个网站在 IE8 下这么慢

javascript - 为什么 jquery-file upload 总是发送单个文件到后端

javascript - 获取ajax数据的最新窗口宽度

java - 如何使用 Ajax、Java、Spring Framework 将文件从网页上传到 Google Cloud Storage

jquery - Blue Imp jQuery 文件上传 - IE8 data.submit() 未触发

javascript - 使用 ajax 和 jQuery 的服务器端分页

javascript - 什么是 Javascript 中 window.open() 的返回类型

javascript - 数据表。如何阻止从事件处理程序内部触发 search.dt 事件

jquery - 使用 jQuery 进行多部分文件上传