|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我也不知道,我原来理解的,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的跨平台也当之无愧是一句谎言。 |
|