标签:style blog http io ar color os 使用 sp
属性 |
数据类型 |
说明 |
FileBytes |
byte[] |
获取上传文件的字节数组 |
FileContent |
Stream |
获取指定上传文件的Stream对象 |
FileName |
String |
获取上传文件在客户端的文件名称 |
HasFile |
Bool |
获取一个布尔值,用于表示FileUpload控件是否已经包含一个文件 |
PostedFile |
HttpPostedFile |
获取一个与上传文件相关的HttpPostedFile对象,使用该对象可以获取上传文件的相关属性 |
可以通过3种方法访问上传文件: 1.通过FileBytes属性。该属性将上传文件数据置于字节数组中,遍历该数组,则能够以字节方式了解上传文件的内容。 2.通过FileContent属性。调用该属性可以获得一个指向上传文件的Stream对象。可以使用该属性读取上传文件数据,并使用FileBytes属性显示文件内容。 3.通过PostedFile属性。调用该属性可以获得一个与上传文件相关的HttpPostedFile对象,使用该对象可以获得与上传文件相关的信息。例如,调用HttpPostedFile对象的ContentLength,可以获得上传文件大小;调用HttpPostedFile对象的ContentType属性,可以获得上传文件的类型;调用HttpPostedFile对象的FileName属性,可以获得上传文件在客户端的完整路径(调用FileUpload控件的FileName属性,仅能获得文件名)。
Show一个最基本的文件上传示例:
Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>示例8-3</title> <link id="InstanceStyle" href="StyleSheet.css" type="text/css" rel="stylesheet"/> </head> <body> <form id="Form1" runat="server"> <div> <fieldset style="width: 290px"> <legend class="mainTitle">FileUpload控件典型应用</legend> <br /> <asp:FileUpload ID="FileUpload1" runat="server"/> <asp:Button ID="BtnUpload" runat="server" Text="上传"OnClick="BtnUpload_Click"/> <hr /> <asp:Label ID="LabMessage1" runat="server" ForeColor="red"/><br /> <asp:Label ID="LabMessage2" runat="server"/> </fieldset> </div> </form> </body> </html> Default.aspx.cs using System; using System.Data; using System.Configuration; 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; public partial class _Default : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { } protectedvoid BtnUpload_Click(object sender, EventArgs e) { bool fileOK =false; string path = Server.MapPath("~/Temp/"); if (FileUpload1.HasFile) { String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower(); String[] allowedExtensions ={ ".gif", ".png", ".bmp", ".jpg" }; for (int i =0; i < allowedExtensions.Length; i++) { if (fileExtension == allowedExtensions[i]) { fileOK =true; } } } if (fileOK) { try { FileUpload1.SaveAs(path + FileUpload1.FileName); LabMessage1.Text ="文件上传成功."; LabMessage2.Text ="<b>原文件路径:</b>"+ FileUpload1.PostedFile.FileName +"<br />"+ "<b>文件大小:</b>"+ FileUpload1.PostedFile.ContentLength +"字节<br />"+ "<b>文件类型:</b>"+ FileUpload1.PostedFile.ContentType +"<br />"; } catch (Exception ex) { LabMessage1.Text ="文件上传不成功."; } } else { LabMessage1.Text ="只能够上传图片文件."; } } } 通过对以上的示例进行分析,我们还可以用验证控件来实现对文件类型的验证 Show一下正则表达式: 验证控件 <ASP:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ErrorMessage="Only mp3, m3u or mpeg files are allowed!" ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*)) +(.mp3|.MP3|.mpeg|.MPEG|.m3u|.M3U)$" ControlToValidate="FileUpload1"></ASP:RegularExpressionValidator> <br /> <ASP:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="This is a required field!" ControlToValidate="FileUpload1"></ASP:RequiredFieldValidator>
标签:style blog http io ar color os 使用 sp
原文地址:http://www.cnblogs.com/disneyland/p/4133348.html