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

标签: asp net mvc | 发表时间:2011-10-14 10: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] 推荐:

为什么 web 开发人员需要迁移到. NET Core, 并使用 ASP.NET Core MVC 构建 web 和 webservice/API - 张善友 - 博客园

- -
2018 .NET开发者调查报告: .NET Core 是怎么样的状态,这里我们看到了还有非常多的.net开发人员还在观望,本文给大家一个建议. 这仅代表我的个人意见, 我有充分的理由推荐.net 程序员使用. 有些人可能不同意我的观点, 但是分享想法和讨论它是好的. .net 程序员或他们所在的团队总有各种理由说他们的系统还在使用旧系统, 这显然是企业开发人员的事情.

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.

srping mvc RequestMapping实现

- - CSDN博客推荐文章
spring mvc中定义请求的url只需要在方法上添加注解: @RequestMapping("aa.mvc")即可定义访问的url地址,但是你是否有考虑过为什么添加这个注解就可以实现url访问地址的定义了呢. 首先定义注解RequestMapping. mvc中常需要对输入值进行合法性校验,所以也定义了校验的注解MyValid.

Debugging .NET Core on Linux with LLDB | RayDBG

- -
The LLDB debugger is conceptually similar to the native Windows debugging tools in that it is a low level and command live driven debugger. Part of the reason the .NET Core team chose the LLDB debugger was for its extensibility points that allowed them to create the SOS plugin which can be used to debug .NET core applications.

MVC就是个选择题

- Dash - Becomin&#39; Charles
由于采用了Web开发框架来开发项目,所以我首次在真正的项目中采用MVC的开发模式. 随着项目的不断深入,我也在不断反思,MVC设计模式到底给项目带来了什么. 听起来都很难听对吗,但是确实如此. 清晰的代码结构,易于维护,易于扩展. 当然,我不是在批判MVC,只是觉得,在使用MVC过程中,还是需要投入更深入的思考,到底怎样才能用好这个设计模式.

表现层模式-MVC

- - 博客园_首页
       在前面简述了从服务层到数据层参见 架构设计目录. 剩下了表现层,一个再好的中间层表现也必须有一个用户界面,提供和用户交互,将用户行为输入转化为系统操作,进入后台逻辑. 在当下RAD(快速应用开发)工具的支持下,我们可以比较快速的完成UI设计,RAD追求所见即所得的快速反馈,快速应用.

三层架构与MVC

- - CSDN博客推荐文章
MVC是Model View Controller , 是模型-视图-控制器的缩写,一种软件设计典范.用于组织代码用 一种业务逻辑和数据显示分离的方法,这个方法的假设挑剔是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化指定而不需要重新编写业务逻辑.. 三层架构是最基本的项目分层结果,而MVC则是三层架构的一个变体,MVC是一种好的开发模式.

Spring MVC 3 深入总结

- - 企业架构 - ITeye博客
大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了. Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀. 官方的下载网址是: http://www.springsource.org/download   (本文使用是的Spring 3.0.5版本).