【问题标题】:Disabling auto-uploading on Blueimp jQuery File Upload在 Blueimp jQuery 文件上传上禁用自动上传
【发布时间】:2012-03-23 19:15:29
【问题描述】:

我正在使用 blueint jquery.fileupload 插件使用 asp.net 上传文件

我有一个页面允许用户选择一个类别(下拉列表框)、一个标题(用于上传的文件 - 文本框)和一个文件输入(由插件处理)。

插件: https://github.com/i-e-b/jQueryFileUpload.Net

javascript/jquery:

 $('#fileup').fileupload({
                    replaceFileInput: false,
                    formData: function (form) {
                        return [{ name: 'dcat', value: $('#ddlCats').val() }, { name: 'title', value: $('#txtTitle').val()}];
                    },
                    dataType: 'json',
                    url: '/_handlers/FileHandler.ashx',
                    add: function (e, data) {
                        var valid = true;
                        var re = /^.+\.((doc)|(xls)|(xlsx)|(docx)|(pdf)|(pts))$/i;
                        $.each(data.files, function (index, file) {
                            if (!re.test(file.name)) {
                                $('#uploaded').html('This file type is not supported');
                                valid = false;
                            }
                        });
                        if (valid)
                            data.submit();
                    },
                    done: function (e, data) {
                        $.each(data.result, function (index, file) {
                            $('#uploaded').html(file);
                        });
                        GetFiles($('#ddlCats').val())
                    },
                    error: function () {
                        alert('An error occured while uploading the document.');
                    }
                });

html:

<div id="fUpload">
<span style="font-weight:bold;">Yeni Belge:</span><br />
    <table class="ktoeos">
        <tr>
            <td>Category:</td>
            <td> <select id="ddlCats"></select></td>
        </tr>
        <tr>
            <td>Document Description:</td>
            <td><input type="text" id="txtTitle" /></td>
        </tr>
        <tr>
            <td>Select Document:</td>
            <td><input type="file" name="file" id="fileup" /></td>
        </tr>
        <tr>
           <td colspan="2"><input type="submit" id="btnSubmit" value="Upload" /></td>
        </tr>
    </table>
    <div id="uploaded"></div>

我的问题是,在我选择文件后,文件会立即上传(通过 http 处理程序)。我可以处理它以提交其他表单数据但是,我想在按钮提交上触发此事件,因为我需要执行一些验证。此外,用户可能希望先选择一个文件,然后填写表单的其他部分,在这种情况下他/她不能这样做,因为在他/她之前提交了表单。

由于我不是一个非常优秀的 javascript 程序员,我不知道这个功能是否已经在插件可用的 .js 文件中可用(可能是)。有什么想法我需要改变或做什么?

【问题讨论】:

    标签: javascript jquery asp.net file-upload blueimp


    【解决方案1】:

    add 回调会在文件添加到小部件后立即调用,因此您需要覆盖它以暂停上传,然后单击按钮开始上传。

    add: function (e, data) {
        $("#btnSubmit").click(function () {
            // validate file...
            if(valid)
                data.submit();
        });
    }
    

    更新:文档现在有一个better example

    【讨论】:

    • 正是我想要的。唯一的问题是文本框不显示文件路径..
    【解决方案2】:

    这很容易做到,因为" autoUpload: true" 有一个选项在jquery.fileupload-ui.js 中设置为默认值

    如果你把它改成false,你可以在按钮点击事件上手动编码。

    【讨论】:

    • 感谢您的回答,我没有那个文件,所以我下载了它并将其包含在我的项目中和相关页面的顶部。然后按照建议将 autoUpload 更改为 false,但没有任何改变。选择文件后仍然会上传。我需要更改代码中的任何内容吗?我有这些文件。可能有一些关于它:+ jquery-1.7.js + jquery-ui-1.8.17.custom.min.js + jquery.fileupload.js + jquery.iframe-transport.js + jquery.fileupload-ui.js
    • @Emin-这里是 Jquery fileupload-ui.js 的路径,您可以从中提供链接 jQueryFileUpload.Net / jQueryFileUpload / scripts / Default / jquery.fileupload-ui.js(或)你可以从这里找到 asp.Net 实现 webtrendset.com/2011/06/22/…
    • @Emin-转到此页面 github.com/blueimp/jQuery-File-Upload/downloads 下载最新版本并在解决方案资源管理器中打开它并导航到 js 文件夹,您可以在其中找到 jquery.fileupload-ui.js 并搜索 autoupload并将其设置为“假”而不是“真”。如果你想使用引导程序,那么你应该使用 Jquery 1.7+
    • 我没有运气,我迷失在所有这些 javascript 文件中。无论如何我可以包装 $('#fileup').fileupload({});函数变成一个 jquery button.click ?
    • @Emin-您不能通过单击按钮来包装它,因为您必须在参数中提及它。这就是我所拥有的,您可以测试这个简单的自动上传设置为false.Check 并让我知道您是否有任何问题。这是链接box.com/s/g54ychd24obrt8fplqu3
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 2013-04-29
    • 2015-09-29
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多