精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>asp.net教程>正文

Asp.net文件上传操作


来源:不详 时间:07-05-10 点击: 点击这里收藏本文

    使用ASP.NET上传文件,需要用到.NET框架的两个类:HttpPostedFile和HtmlInputFile,这两个类所在的命名空间分别是 System.Web.HttpPostedFile和System.Web.UI.HtmlControls.HtmlInputFile,所以我们要在文件开头先导入这两个命名空间,
    其中的PostedFile表示上传到服务器的文件,它包含几个常用的属性:
       ContentLength:文件大小;
       FileName:上传文件的详细路径及文件名;
       ContentType  :上传文件的文件类型。
    字符分割函数Split是用来取得文件名的,因为通过PostedFile.FileName获得的是详细的路径及文件名。
  
   多文件上传
   所谓的多文件上传就是同时上传多个文件,这个跟单一文件上传大多是相同的,不同的是多文件上传是把所有文件作为一个文件集合一起上传到服务器的,我们需要的是把这个文件集合分解成一个个单一的文件,剩下的处理方法就跟单一文件上传一样了。
   首先你要知道要最多同时上传多少个文件,然后你就在form之间放多少个如下的HtmlInput控件:
    <input type="file" runat="server" size="50">
   注意:这里的HtmlInput控件控件是不需要设置ID的
   那怎么在上传到服务器的文件集合中取出一个个的文件呢?看下面的代码:

   dim i as integer
   For i=0 to Request.Files.Count-1
      ‘使用Request.Files()来逐个获取上传的文件
      dim myFile as HttpPostedFile=Request.Files(i)
      '这里的myFile就相当于上例中的PostedFile,可以用myFile.FileName获得文件名,etc
      '这里的处理代码就跟单一文件上传的一样了
   Next

  现在你已经掌握了ASP.NET文件上传技术了,只要灵活应用,美化上传界面,做出好的ASP.NET上传程序了也不是什么难事了。

=========================================

应用ASP.NET向网络服务器上传文件

许多网站通过网页收集资料,如用户反馈及博客文章等。能够收集文本很不错。但是,我们经常需要收集更为稳健的因素。例如,许多招聘网站收集求职者用Word文件提交的简历。标准HTML支持文件上传功能,但如果应用ASP.NET上传的话,还可以获得一些附加功能。

输入标签

标准HTML输入标签支持文件类型属性,这样就可以向网络服务器上传文件。以下是此标签的格式:

<input type="file" name="fileUpload" />

将输入标签放在HTML表单元素中。列表A中的代码显示ASP.NET页面中用到的文件上传控制。

在ASP.NET页面中应用上传标签还要其它两个属性:id与runat。id属性按程序访问元素,而runat属性则指明处理元素的位置。runat属性由服务器设定,所以它由网络服务器来处理。另外,HTML中还包含对齐页面项目的其它元素,和一个提交表单的按钮。

文件上传元素为用户提供两个选择上传文件的选项:在输入文本框中输入文件路径,或者选择浏览(Browse)按钮从本地文件系统中进行选择。一旦用户指定了文件,再选择提交(Submit)按钮,网络服务器即接管。(需要使用代码来处理请求和上传的文件。)

用ASP.NET上传

应用ASP.NET上传文件有几种方式,让我们看一看几种情形。最基本的途径是应用上传输入控制特性与方法。以下是HTML输入控制的方法与特性:

    * FileName:用户计算机上的完全合格的文件名称。它还包含上传文件的本地路径。
    * ContentLength:上传文件的大小(字节)。
    * ContentType:上传文件的MIME内容类型。
    * InputStream:返回一个指向上传文件的流(Stream)对象,允许你阅读文件内容。
    * SaveAs:方便保存上传文件的内容。
列表B中的C#语言实例对第一个代码样本进行扩充以处理上传文件。(列表C中是对应的VB.NET实例。)此页面退回以处理上传文件。ContentLength属性可避免上传空文件。FileName利用从文件本地路径中提取文件名的字符串方法在本地保存文件。SaveAs方法将文件保存在网络服务器文件夹中。BtnSubmit按钮用它的指向表单方法的ASP.NET OnServerClick事件来触发上传文件过程。

其代码应用HtmlInputFile和HttpPostedFile类。这些类(及其集合)的完整路径为:

    * System.Web.UI.HtmlControls.HtmlInputFile
    * System.Web.HttpPostedFile

在输入文件元素时建立HtmlputFile对象(在我们的例子中为fileUpload)。文件由表单(与HtmlInputFile对象)提交到服务器时则建立HttpPostedFile对象。只有在页面的回传事件中,HttpPostedFile对象才有效。

9 7 3 1 2 3 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.