当前位置: 首页 > backend >正文

Asp.net FileUpload控件

前言

    学习Asp.net 是一个过程,很多是对牛腩的一个进一步的理解,很多时候控件就是很好的练手工具。

正文

FileUpload控件是一个很重要的控件,他被web服务器最终解释成形如“<input type=“file”…/>”这样普通的HTML控件
它有如下常用属性:
FileUpload 控件是一个很重要的控件,它被 Web 服务器最终解释为形如“<input
type=”file”…/>” 这样的普通 HTML 控件。
它有如下常见属性:


属性名       数据类型                  说明
FileBytes         byte[]                  上传的文件内容的字节数组表示形式
FileContent Stream                  上传文件的数据流
FileName string                  上传文件在客户端的名字
HasFile         bool                   指示是否上传了文件
PostedFile HttpPostedFile   获取文件基础的 HttpPostedFile 对象


这个 HttpPostedFile 对象能帮我们做很多工作,它也有一些有用的常见属性


属性名                 数据类型                 说明
ContentLength int                         上传的文件内容的字节长度
ContentType         string                 上传文件的 MIME 内容类型
FileName         string                 上传文件的在客户端的名字

InputStream         Stream                  指向上传文件的 Stream 对象


FileUpload 控件还有一个 void SaveAs (string filename)的方法,这个方法用于将上 
上传文件保存到服务器上,一般来说,使用FileUpload控件上传文件一般有如下几个步骤:
(1)利用HasFile属性判断是否上传了文件。
(2)在服务器上指定一个物理路径,并检查这个物理路径是否存在,如果不存在先创建
(3)指定上传文件在服务器上的上传路径,利用Save()保存上传的文件,这一步还可以做一些其它检查工作,比如检查上传的文件是否符合要求或文件内容大小是否符合要求
(4)将相对路径或者URL地址保存起来,以便客户访问下载

注意:我们保存上传文件的时候文件用的是物理路径,但是要保存的,日后客户端的访问得到的却是相对路径或者URL地址。

实例
//例如:创建一个叫Upload.aspx的页面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Upload.aspx.cs" Inherits="Asp.Net基本控件原.Upload" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>文件上传的例子</title>
</head>
<body><form id="form1" runat="server"><div><asp:FileUpload ID="fileUpload" runat="server" /><asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="上传" /><asp:Literal ID="literal" runat="server"></asp:Literal></div></form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;namespace Asp.Net基本控件原
{public partial class Upload : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void btnUpload_Click(object sender, EventArgs e){//判断是否上传了文件if (fileUpload.HasFile){//指定上传文件在服务器上的保存路径string savePath = Server.MapPath("~/upload/");//检查服务器上是否存在这个物理路径,如果不存在则创建if (!System.IO.Directory.Exists(savePath)){//需要注意的是,需要对这个物理路径有足够的权限,否则会报错//另外,这个路径应该是在网站之下,而将网站部署在C盘却把文件保存在D盘System.IO.Directory.CreateDirectory(savePath);}savePath=savePath+"\\"+fileUpload.FileName;fileUpload.SaveAs(savePath);//保存文件//不过需要注意的是,在客户端访问却需要指定的是URL地址,而不是服务器上的物理地址literal.Text = string.Format("<a href='upload/{0}'>upload{0}</a>", fileUpload.FileName);}}}
}

http://www.xdnf.cn/news/11026.html

相关文章:

  • BGP/MPLS IP VPN跨域解决方案
  • HTML5+app开发学习之Android打包篇
  • [ASP]连接SQL SERVER三种方法:
  • 三言二拍之3377(二)--3377事件注释
  • VMware 6.5安装使用教程 (别人写的,拿来学习下)
  • Android基础入门教程(非常详细),从零基础入门到精通,看完这一篇就够了(附安装包)
  • elasticsearch-自动补全
  • 《OpenGL超级宝典》笔记(一)
  • 个人博客如何申请ICP备案
  • Linux系统应用之知识补充——普通用户密码忘了怎么办?
  • 有趣的php实例,8个必备的PHP功能实例代码
  • 利用系统自带命令搞定手工杀毒
  • 3Ds Max动画课程设计
  • 黑客网站大全!都在这了!速看被删就没了
  • HTML颜色代码大全
  • 从零开始制作游戏外挂
  • SVN详细配置与使用 ——一步步教会您使用
  • ctf入门(转载)
  • canon佳能ip1000/1200/1600 废弃墨水吸收器已满解决办法(有效)
  • 相声文本《我是黑社会》--郭德纲、于谦
  • ProcDump+Mimikatz绕过杀毒软件抓密码
  • 图片格式如何转换?推荐这6款图片转换器免费软件【全】
  • webservice实现天气查询
  • JSP——JSTL语法总结
  • 如何免费建立自己的一个HTML网站(完全免费)
  • 异常处理(try catch finally)
  • MMdetection框架速成系列 第07部分:数据增强的N种方法
  • 什么是威客?
  • 7分钟教你如何创建 Photoshop 草图效果
  • 网络常见的 9 大命令,非常实用!