【问题标题】:Multiple FileUploads with Multiple Submit Buttons具有多个提交按钮的多个文件上传
【发布时间】:2015-09-01 19:36:11
【问题描述】:

例如,我有 5 个文件上传控件,而且我还有一个提交按钮(在每个文件上传控件前面),它将上传该文件上传的选定文件。

但是有一个问题,当我点击(例如)第二个提交按钮上传第二个文件上传的文件时,我们将有一个回发,其他文件上传的文件将重置为空。我该如何管理这种情况,以便当用户单击提交按钮时,相关文件上传的文件上传和其他文件上传的文件保持其状态。希望我足够清楚。

图片效果更好:

【问题讨论】:

  • 您使用的是 asp.net Web 表单还是 MVC?

标签: c# asp.net file-upload


【解决方案1】:

免责声明-这只是对此处出色答案的修改:How can I upload files asynchronously? 我假设你有 jQuery。

<div>
    <asp:FileUpload ID="fu1" runat="server" CssClass="fu1" />
    <asp:Button ID="btn1" runat="server" OnClientClick="upload(this,'.fu1'); return false" Text="Submit" />
</div>
<div>
    <asp:FileUpload ID="fu2" runat="server" CssClass="fu2" />
    <asp:Button ID="btn2" runat="server" OnClientClick="upload(this,'.fu2'); return false"  Text="Submit" />
</div>

<script type="text/javascript">
    function upload(element,selector)
    {
        var formData = new FormData();
        formData.append('image', $(selector)[0].files[0]);

        $.ajax({
            url: '<%= Page.Form.Action %>',  //Server script to process data
            type: 'POST',
            // Form data
            data: formData,
            //Options to tell jQuery not to process data or worry about content-type.
            cache: false,
            contentType: false,
            processData: false
        });
    }
</script>

那么在Page_Load内:

Page.Form.Attributes["enctype"] = "multipart/form-data";
var file = Request.Files["image"];
if (file != null)
{
  // do something with the file
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-24
  • 1970-01-01
  • 1970-01-01
  • 2013-04-16
  • 2017-11-07
  • 1970-01-01
相关资源
最近更新 更多