仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 883|回复: 7
打印 上一主题 下一主题

[学习教程] NET网页编程之在MVC中完成复杂文件上传功效示例

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:22:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在经过全球个人PC市场占有90%的微软对asp.net不断优化与整合后,asp.net与微软自身平台的动用上更加的高效,加上asp.net在应用上非常容易上手,相信asp.net仍会是最多客户选用的脚本语言,并会在未来几年继续领跑。在MVC中完成文件上传与传统的WebForm上传文件办法都差未几,在aspx页面放一个file标签,然后在
actionname办法中处置用户上传的文件。本章我们以一个最经常使用的上传图片为例,详细示比方下:

1,aspx页面处置以下:
我们在aspx页面放一个file标签
<table>
<tr>
<td>
申明:只能上传gif图片,网站不限制图片巨细,请上传符合巨细的图片,假如图片巨细过年夜,会形成网
站变形等成绩。
</td>
</tr>
<tr>
<td>
Logo:<inputname="uploadpic"type="file"size="80"/>
<inputtype="submit"value="保留"name="action"/>
<divclass="red">
<%:Html.ValidationMessage("validationLogoError")%></div>
</td>
</tr>
</table>

<%:Html.ValidationMessage("validationLogoError")%>用来显现服务器前往的毛病。

Controller的actionname办法以下:
publicActionResultLogo()
{
//判别Request中是不是有吸收Files文件
if(Request.Files.Count!=0)
{
//HttpPostedFileBase类,供应对用户上载的独自文件的会见
//猎取到用户上传的文件
HttpPostedFileBasefile=Request.Files[0];
//猎取用户上传文件的后缀名
stringExtension=Path.GetExtension(file.FileName);
//从头定名文件
stringnewFileName="logo"+Extension;
       
//判别图片后缀是否是为jpg,假如不是,前往毛病,假如是,使用file.SaveAs保留图片。注重在保留
图片时,要利用Server.MapPath取到假造路径所对应的物料路径
if(!Extension.Equals(".jpg"))
{
ModelState.AddModelError("validationLogoError","只能上传jpeg范例图片");
}
else
{
file.SaveAs(Path.Combine(Server.MapPath("/Content/Logo/"),newFileName));
}
}
returnView();
}


复杂的几句代码就完成了文件的上传功效,是否是很复杂呢?
该demos展现的功效很少,仅是完成了文件的上传,未对文件的巨细等做限定,但愿能对人人有所匡助。也许C#刚上市的时候有些抄袭Java吧,但自从C#2.0上市之后,整个局面就扭转乾坤了,不但Java在模仿C#,而且他从来都没能跟得上C#的脚步。
沙发
发表于 2015-1-18 13:40:02 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
老尸 该用户已被删除
板凳
发表于 2015-1-26 21:55:12 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
不帅 该用户已被删除
地板
发表于 2015-2-4 22:31:48 | 只看该作者
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
小女巫 该用户已被删除
5#
发表于 2015-2-10 22:13:45 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
透明 该用户已被删除
6#
发表于 2015-3-1 17:09:09 | 只看该作者
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
小魔女 该用户已被删除
7#
发表于 2015-3-10 21:40:19 | 只看该作者
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
山那边是海 该用户已被删除
8#
发表于 2015-3-17 11:23:40 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-4 02:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表