用Html5与Asp.net MVC上传多个文件的实现代码

 更新时间:2012年08月30日 11:57:35   作者:  
Html 5 的有一些File API,对Form表单增强的特性,让我们轻松支持多文件上传,看下面的Html片断代码

复制代码 代码如下:

<form action="/Home/Upload" enctype="multipart/form-data" id="form2" method="post">
<input type="file" name="fileToUpload" id="fileToUpload2" multiple="multiple" />
<input type="submit" value="submit" />
</form>

那在Asp.net MVC web application中,我们可以这么实现:
复制代码 代码如下:

@using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data", id = "form2" }))
{
<label for="file">Upload Image:</label>
<input type="file" name="fileToUpload" id="fileToUpload2" multiple="multiple" />
<input type="submit" value="Upload Image by submit" />
}

假设这是一个HomeController下View, 即将提交到Upload的Action,看下面服务端的代码:
复制代码 代码如下:

[HttpPost]
public ActionResult Upload(HttpPostedFileBase[] fileToUpload)
{
foreach (HttpPostedFileBase file in fileToUpload)
{
string path = System.IO.Path.Combine(Server.MapPath("~/App_Data"), System.IO.Path.GetFileName(file.FileName));
file.SaveAs(path);
}

ViewBag.Message = "File(s) uploaded successfully";
return RedirectToAction("Index");
}

好的,就这么简单。 这里我们把接收到文件存储到App_Data文件夹中,然后返回Index的Action. 看下面图片,我们能够从文件选择器选择多张图片:
mutliImagesfiles 

关于HTML5这个特性在那些浏览器支持,您可以去这里查看。 您还可以查看W3C官方的文档。我们在FireFox 14.01下测试能过。

希望对您Web开发有帮助。

相关文章

  • 简单谈谈.NET Core跨平台开发

    简单谈谈.NET Core跨平台开发

    本文给大家详细介绍了如何使用.NET Core进行跨平台开发,包含简单的环境架设以及配置,以及使用vs进行编译运行项目和注意事项,有需要的小伙伴可以参考下
    2016-07-07
  • ASP.NET中实现弹出日历示例

    ASP.NET中实现弹出日历示例

    这篇文章介绍了ASP.NET弹出日历功能的实现方法,有需要的朋友可以参考一下。
    2016-10-10
  • C#通过POP3获取邮件的代码(正文和附件)

    C#通过POP3获取邮件的代码(正文和附件)

    C# POP3获取邮件的代码 包括正文和附件,需要的朋友可以参考下。
    2010-03-03
  • .NET医院公众号系统线程CPU双高问题分析

    .NET医院公众号系统线程CPU双高问题分析

    这篇文章主要介绍了.NET医院公众号系统 线程CPU双高分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Visual Studio(VS2017)配置C/C++ PostgreSQL9.6.3开发环境

    Visual Studio(VS2017)配置C/C++ PostgreSQL9.6.3开发环境

    这篇文章主要为大家详细介绍了Visual Studio(VS2017)配置C/C++,PostgreSQL9.6.3开发环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • asp.net Bundle功能扩展

    asp.net Bundle功能扩展

    发现这个东西确实非常实用,且功能强大,BundleTable.Bundles能够压缩合并js和CSS,但是目前的使用起来不是特别好需要修改BundleConfig的代码
    2012-11-11
  • xml 文件的创建和读取代码

    xml 文件的创建和读取代码

    最近在学习大话设计模式这本书,跟着里面的例子自己动手,学习到了一些我以前以为很难的知识,.xml文件就是其一。
    2009-09-09
  • ASP.NET Core缓存静态资源示例详解

    ASP.NET Core缓存静态资源示例详解

    我们在优化Web服务的时候,对于静态的资源文件,通常都是通过客户端缓存、服务器缓存、CDN缓存,这三种方式来缓解客户端对于Web服务器的连接请求压力的。下面这篇文章主要给大家介绍了关于ASP.NET Core缓存静态资源的相关资料,需要的朋友可以参考下。
    2018-02-02
  • ASP.NET MVC5 实现分页查询的示例代码

    ASP.NET MVC5 实现分页查询的示例代码

    本篇文章主要介绍了ASP.NET MVC5 实现分页查询的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-02-02
  • asp.net替换和恢复html特殊字符

    asp.net替换和恢复html特殊字符

    替换html中的特殊字符需要进行替换的文本。替换完的文本。
    2008-05-05

最新评论