ASP.NET编程:ASP.NET用MVC形式处置文件上传下载
我也不知道,我原来理解的,NET就是C++编程,只是与JAVA相对,呵呵。以为.ET就是高级C++编程。<p>假如你仅仅只要Asp.netWebForms背景转而进修Asp.netMVC的,我想你的第一个履历也许是那些已经让你的编程变得愉悦非常的服务端控件都驾鹤西往了.FileUpload就是个中一个,而这个控件的出席给我们带来一些小成绩。这篇文章次要说怎样在Asp.netMVC中上传文件,然后怎样再从服务器中把上传过的文件下载上去.在WebForms中,当你把一个FileUpload控件拖到计划器中,你也许没有注重到在天生的HTML中会在form标签中到场一条分外属性enctype="multipart/form-data".而FileUpload控件自己会天生为<inputtype=”file”/>,在MVC的view里,有很多种办法能够做到一样效果,第一种的HTML以下:
<formaction="/"method="post"enctype="multipart/form-data">
<inputtype="file"name="FileUpload1"/><br/>
<inputtype="submit"name="Submit"id="Submit"value="Upload"/>
</form>
注重form标签已包含了enctype标签,而method属性则设为”post”,如许设置其实不多于由于默许的提交时经由过程HTTPget体例举行的。上面这类体例,利用Html.BeginForm()扩大办法,会天生和下面一样的HTML:
<%
using(Html.BeginForm("","home",FormMethod.Post,new{enctype="multipart/form-data"}))
{%>
<inputtype="file"name="FileUpload1"/><br/>
<inputtype="submit"name="Submit"id="Submit"value="Upload"/>
<%}%>
如今我们能够扫瞄当地文件然后经由过程Upload提交按钮将文件提交到服务器端,下一步就是在服务器端处置上传的文件,在利用fileUpload控件时,你能够很轻松的经由过程FileUpload的hasFile办法来检察文件是不是被上传。可是在Asp.netMVC中貌似就不是这么便利了,你会和原始的HTTP更靠近一些,但是,一个扩大办法能够处置这些:
publicstaticboolHasFile(thisHttpPostedFileBasefile)
{
return(file!=null&&file.ContentLength>0)?true:false;
}
当你看到对应的Controller类的代码时,你会发明Request工具作为HttpRequestBase范例的一个属性存在。HttpReuqestBase实际上是HTTP哀求的一个封装,暴漏了良多属性,包含Filescollection(实际上是HttpFileCollectionBase的汇合),在汇合中的每个元素都是HttpPostedFileBase的汇合,扩大办法是用于确保上传的文件是不是存在。实践上,这和FileUpload.HasFile()办法的事情道理分歧。
在ControllerAction中利用起来实在很简单:
publicclassHomeController:Controller
{
publicActionResultIndex()
{我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。 可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
页:
[1]