Asp.Net Mvc 带进度条大文件上传(附源码下载)

标签: asp.net mvc 文件 | 发表时间:2011-10-14 02:50 | 作者:朱梅梅 Bloger
分享到:
出处:http://www.cnblogs.com/

    在Web开发中经常会遇到文件上传的功能,如果是小文件,很简单;如果遇到的客户需要上传几个G甚至几十G、几百G的文件,那么就出现问题了!为了安全起见,Mvc的Config设置根本就不允许上传这么大的文件。经过多次试验比较,我向朋友介绍一种简单易懂的方法:借助于Jquery的JqUploader控件。

环境

     Asp.Net Mvc3 + Vs2010

使用的脚本

     jquery-1.5.1.min.js  、jquery.flash.js、 jquery.jqUploader.js

配置Webconfig

<httpRuntime executionTimeout="300" maxRequestLength="2097151" useFullyQualifiedRedirectUrl="false"/>

executionTimeout设置最大请求时间,maxRequestLength设置上传文件的最大限制

代码

1 @using (Html.BeginForm("upfile", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
2 {
3
4 <input id="file1" type="file" name="file1" />
5 }

 

脚本

 1 <script type="text/javascript">
2 $(document).ready(function() {
3 $("#file1").jqUploader({
4 background: "FFFFDF",
5 barColor: "64A9F6",
6 allowedExt: "*",
7 allowedExtDescr: "*",
8 hideSubmit: true
9 });
10 });
11 </script>

 

jqUploader 的属性可以自己修改,在jquery.jqUploader.js中根据自己的需要修改。详细的JqUpload使用可以参考网址:http://www.pixeline.be/experiments/jqUploader/

 

后台Action代码

 1 int iTotal = Request.Files.Count;
2 if (iTotal == 0)
3 {
4 Response.Write("<script> alert('没有数据');</script>");
5 }
6 else
7 {
8 for (int i = 0; i < iTotal; i++)
9 {
10 HttpPostedFileBase file = Request.Files[i];
11 if (file.ContentLength > 0 || !string.IsNullOrEmpty
12 (file.FileName))
13 {
14 //保存文件
15 string diect = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"Upload");
16 string filename = Path.GetFileName(file.FileName);
17 string savepath = string.Format("{0}\\{1}", diect, filename);
18 file.SaveAs(savepath);
19 }
20 }
21 }
22 return RedirectToAction("Index");

 

OK,大文件的上传功能就完成了。

源码下载:/Files/zhumeimei/MvcApplication1.zip

 

作者: 朱梅梅 发表于 2011-10-14 10:50 原文链接

评论: 10 查看评论 发表评论


最新新闻:
· 福布斯亚洲商界人物TOP10:曹国伟居首(2011-10-14 16:23)
· 乔布斯:改变世界 能否改变中国(2011-10-14 16:15)
· 福布斯:Facebook上市将终结互联网高估值时代(2011-10-14 16:05)
· 腾讯或布局网游安全领域 另辟蹊径再战360?(2011-10-14 15:52)
· 窝窝团确认裁员500人 徐茂栋称年内将上市(2011-10-14 15:46)

编辑推荐:最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用46

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

相关 [asp.net mvc 文件] 推荐:

Asp.Net Mvc 带进度条大文件上传(附源码下载)

- Bloger - 博客园-首页原创精华区
    在Web开发中经常会遇到文件上传的功能,如果是小文件,很简单;如果遇到的客户需要上传几个G甚至几十G、几百G的文件,那么就出现问题了. 为了安全起见,Mvc的Config设置根本就不允许上传这么大的文件. 经过多次试验比较,我向朋友介绍一种简单易懂的方法:借助于Jquery的JqUploader控件.

使用Mono.Cecil辅助ASP.NET MVC使用dynamic类型Model

- wang - 老赵点滴 - 追求编程之美
这也是之前在珠三角技术沙龙上的示例之一,解决的是在ASP.NET MVC使用dynamic类型Model时遇到的一个真实问题. C# 4编译器支持dynamic类型,因此在编写页面模板的时候自然就可以把它作为视图的Model类型. 表现层的需求很容易改变,因此dynamic类型的Model可以减少我们反复修改强类型Model的麻烦,再配合匿名类型的使用,可谓是动静相宜,如鱼得水.

ASP.NET性能优化之构建自定义文件缓存

- Pei - 博客园-首页原创精华区
ASP.NET的输出缓存(即静态HTML)在.NET4.0前一直是基于内存的. 这意味着如果我们的站点含有大量的缓存,则很容易消耗掉本机内存. 现在,借助于.NET4.0中的OutputCacheProvider,我们可以有多种选择创建自己的缓存. 如,我们可以把HTML输出缓存存储到memcached分布式集群服务器,或者MongoDB中(一种常用的面向文档数据库,不妨阅读本篇http://msdn.microsoft.com/zh-cn/magazine/gg650661.aspx).

Asp.Net微型服务器,只有一个文件,并且才300K大小|建议从事Asp.Net开发的博友们人手一份

- Bloger - 博客园-首页原创精华区
其实我开发此助手已两年多了,也共享给了一些关系很好的朋友们,大伙儿用了都觉得不错,同时我也感觉到很开心,为了更多朋友们能享受到她给您带来的好处,不敢独享,特意在此共享给园来的博友们. 倘若您觉得她真的对您有用,您不防“推荐”一下,给予“艾伟”一个小小的“推荐”的关怀,也许能给您带来源之不尽的享受与方便快捷...多谢.

Tomcat和Spring MVC对静态文件的处理

- - 互联网 - ITeye博客
Spring MVC 和Tomcat对 静态文件的处理:. 当spring这样配置的时候,我们会拦截所有的request其中也包括了js,css和image文件. 那么我们会在xx-servlet.xml中加入下面几个配置达到对静态文件的处理. ResourceHttpRequestHandler会拦截静态文件的请求.

如何提高ASP.NET性能

- Bloger - 博客园-首页原创精华区
如果您在ASP.NET中编写的代码,那么你需要通过以下几点,以确保良好的性能:. 你从ASPX页面调用非托管代码. 你有没有审查Machine.config中的设置吗. 使用下面的复习题,以评估您的代码使用ASP.NET缓存功能:. 检查您的网页,使用输出缓存,以确保数量变化有限制. 输出缓存页面太多的变化可以导致内存使用量的增加.

Asp.net操作Excel更轻松

- Bloger - 博客园-首页原创精华区
今天先介绍一个关于导出数据的例子,以Excel为模板.  1.操作Excel的动态链接库(暂时没有下载地址,稍后提供). 2.建立操作动态链接库的共通类,方便调用. 18 ///ExcelHelper 的摘要说明. /// 获取或设置报表模板路径. //TODO: 在此处添加构造函数逻辑. /// 带参ExcelHelper构造函数.

MVC演化史

- huige - 火丁笔记
Martin Fowler在他所写的《企业应用架构模式》一书中感慨道:MVC已经成为我们最常误用的模式. 人们之所以常常误用MVC,很大程度上是因为混淆了不同的MVC变体. 大概上世纪七十年代,Xerox PARC的Trygve提出了MVC的概念,并应用在Smalltalk系统中,为了和其它类型的MVC加以区分,历史上习惯的称之为Classic MVC.

Spring MVC 和 Struts2

- - CSDN博客架构设计推荐文章
Web层面的框架学习了三个Struts1和2,SpringMVC,那他们之间肯定存在一个优劣和适用的环境,Struts1和2的异同点我已经做过对比《 Struts1和Struts2》,这篇将对比下Struts2和SpringMVC的异同,下面数据基本来源于网络,本人是搜集整理所得,供大家参考. 一个项目使用什么样的技术,决定的因素很多,我所能想到的有:对系统的性能、开发的效率、团队学习的成本、业务场景等,下面尽量从这几个方面入手,来分析比较下他们之间存在的优劣.

最佳MVC实践

- - CSDN博客架构设计推荐文章
原文地址 http://www.yiiframework.com/doc/guide/1.1/zh_cn/basics.best-practices 最佳MVC实践(Best MVC Practices). Although Model-View-Controller (MVC) is known by nearly every Web developer, how to properly use MVC in real application development still eludes many people.