【问题标题】:How to parse each asp .net fileupload element?如何解析每个 asp .net fileupload 元素?
【发布时间】:2015-05-06 10:48:59
【问题描述】:

我正在使用 this article 通过 Uploadify 上传多个文件。我的页面有多个文件上传 asp 控件。当您单击“添加按钮”时,也会创建这些控件。我现在想要的是将这些控件中选择的所有文件上传并上传到服务器。

HTML 页面

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">
    <title>jQuery Upload multiple files in asp.net</title>
    <script src="http://code.jquery.com/jquery-1.8.2.js"></script>
    <link href="uploadify/uploadify.css" rel="stylesheet" type="text/css" />
    <script src="uploadify/jquery.uploadify.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("#file_upload").uploadify({
                'swf': 'uploadify/uploadify.swf',
                'uploader': 'Handler.ashx',
                'cancelImg': 'uploadify/cancel.png',
                'buttonText': 'Select Files',
                'fileDesc': 'Image Files',
                'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
                'multi': true,
                'auto': false
            });


            $("#upload").click(function () { $('#file_upload').uploadify('upload','*'); });
        })
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        
<a id="upload" >Upload File</a> 


        <asp:FileUpload ID="file_upload1" runat="server" />
        <asp:FileUpload ID="File_upload2" runat="server" />
    </div>
    </form>
</body>
</html>`

我知道如何通过单选进行上传,但是当我有多个文件上传 asp .net 控件时,我不知道如何调用 Uploadify。我该如何继续?

【问题讨论】:

  • Uploadify 支持单个上传控件上的多个文件。为什么有多个上传控件?
  • @TrueBlueAussie 这只是一个要求。如果您查看链接,则有一个部分“具有多个 HTML 输入的多个文件”。我想要类似的东西,但有 asp 控件
  • 奇怪的要求。我想要多个文件,但我想要单独的按钮来选择它们? uploadify 插件会相互干扰,因为它们通常都针对实际上传的相同服务器服务。要获得更多帮助,您需要显示整个页面/HTML 等,否则将是猜测。
  • @TrueBlueAussie 我已经更新了我的问题。

标签: jquery asp.net uploadify multiple-file-upload


【解决方案1】:

您需要实例化插件的多个实例,然后在单击上传时将它们全部触发:

例如改为添加到上传控件的类:

<asp:FileUpload CssClass="file_upload" ID="file_upload1" runat="server" />
<asp:FileUpload CssClass="file_upload" ID="File_upload2" runat="server" />

并附上插件:

$(".file_upload").uploadify({

或者只针对type="file" 的所有输入(如下所示):

$("input[type=file]").uploadify({

然后更改点击开始他们全部上传:

$("#upload").click(function () { 
      $('.file_upload').each(function(){
           $(this).uploadify('upload','*'); 
      });
});

我不保证这会奏效,因为您会立即将大量文件发送到服务器,但请试一试。

【讨论】:

  • 我不认为 asp 控件将类作为属性。
  • @初学者:CssClass=""! :) msdn.microsoft.com/en-us/library/… 使用此信息更新答案。试一试。
  • 您可以通过将选择器更改为$("input[type=file]")来避免使用CssClass="file_upload"
  • @Daniel Cook:比类选择器慢很多,但这与这里无关,所以是的。是的你可以。添加到答案:)
  • 它不工作。当我点击上传链接时没有任何反应
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-27
  • 2023-01-04
相关资源
最近更新 更多