导航:首页 > 文件教程 > aspnet自动上传文件

aspnet自动上传文件

发布时间:2024-08-07 15:19:37

1. ASP.NET 2.0高级控件之FileUpload控件

应用程序中经常需要允许用户把文件上传到web服务器 尽管在ASP NET X也可以完成该功能 但在ASP NET 中使用FileUpload控件会更简单 该控件让用户更容易地浏览和选择用于上传的文件 它包含一个浏览按钮和用于输入文件名的文本框 只要用户在文本框中输入了完全限定的文件名 无论是直接输入或通过浏览按钮选择 都可以调用FileUpload的SaveAs方法保存到磁盘上差歼尘 除了从WebControl类继承的标准成员 FileUpload控件还公开了几个只读的属性 在表 和表 列出 表 FileUpload控件属性 名 称 类型 读 写 说 明 FileContent Stream × 返回一个指向上传文件的流对象 FileName string × 返回要上传文件的名称 不包含路径信息 HasFile Boolean × 如虚禅果是true 则表示该控件有文件要上传 PostedFile HttpPostedFile × 返回已经上传文件的引用 表 列出了它所公开的只读属性 表 HttpPostedFile属性 名 称 类 型 读 写 说 明 ContentLength integer × 返回上传文件的按字节表示的文改孙件大小 ContentType string × 返回上传文件的MIME内容类型 FileName string × 返回文件在客户端的完全限定名 InputStream Stream × 返回一个指向上传文件的流对象 所有这些属性将在下面的示例中说明 为了查看FileUpload控件在实际中的运用 创建一个FileUploadDemo网站 在页面上添加一个FileUpload控件 然后 添加两个ASP NET按钮 Text属性分别设置为Save和Display ID分别设置为btnSave和btnDisplay 增加两个Label控件 并分别将ID设置为lblMesage和lblDisplay 用<br/>HTML元素分隔这些控件 切换到设计视图 通过双击每个按钮 为它们在代码隐藏文件中创建具有默认名称的Click事件处理程序 完成后的内容文件类似于示例 示例 FileUploadDemo网站的default aspx <%@ Page Language= C# AutoEventWireup= true CodeFile= Default aspx cs Inherits= _Default %><!DOCTYPE PUBLIC //W C//DTD XHTML //EN >< xmlns= ><head runat= server ><title>FileUpload Control</title></head><body><form id= form runat= server ><div><h >FileUpload Control</h ><asp:FileUpload ID= FileUpload runat= server /><br /><asp:Button ID= btnSave runat= server Text= Save OnClick= btnSave_Click /><asp:Button ID= btnDisplay runat= server Text= Display OnClick= btnDisplay_Click /><br /><br /><asp:Label ID= lblMessage runat= server /><asp:Label ID= lblDisplay runat= server /></div></form></body></>

在代码隐藏文件中 添加示例 中高亮显示的代码 非高亮显示的代码由VS 自动创建

示例 FileUploadDemo网站的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;using System IO; // 使用Stream必需public partial class _Default : System Web UI Page {protected void Page_Load(object sender EventArgs e){}protected void btnSave_Click(object sender EventArgs e){string str = ;if (FileUpload HasFile){try{str += Uploading file: + FileUpload FileName;// 保存文件FileUpload SaveAs( c:\websites\uploads\ + FileUpload FileName);// 显示文件信息str += <br/>Saved As: + FileUpload PostedFile FileName;str += <br/>File Type: + FileUpload PostedFile ContentType;str += <br/>File Length (bytes): + FileUpload PostedFile ContentLength;str += <br/>PostedFile File Name: + FileUpload PostedFile FileName;}catch (Exception ex){str += <br/><b>Error</b><br/>Unable to save c:\websites\uploads\ + FileUpload FileName + <br/> + ex Message;}}else{str = No file uploaded ;}lblMessage Text = str;lblDisplay Text = ;}protected void btnDisplay_Click(object sender EventArgs e){string str = <u>File: + FileUpload FileName + </u><br/> ; if (FileUpload HasFile){try{Stream stream = FileUpload FileContent;StreamReader reader = new StreamReader(stream);string strLine = ;do{strLine = reader ReadLine( );str += strLine;} while (strLine != null);}catch (Exception ex){str += <br/><b>Error</b><br/>Unable to display + FileUpload FileName + <br/> + ex Message;}}else{str = No file uploaded ;}lblDisplay Text = str;lblMessage Text = ;}}高亮显示的using声明对于不使用完全限定命名空间 而使用Stream对象是必须的 在Save按钮的btnSave_Click事件处理程序中 FileUpload控件的HasFile属性用于检测文本框中是否输入了有效的完全限定文件名 如果文本框为空或输入的名称无效 将不会通过检测 并且lblMessage将显示 No file upladed 假定上传了一个有效文件 那么将执行try代码块中的代码 关键语句是调用File Upload控件的SaveAs方法 该方法使用硬编码路径和FileName属性传递一个完全限定的文件名 该语句可能会由于各种原因而失败 包括磁盘空间不足 无效的路径或安全问题(稍后会有更详细的说明) 如果SaveAs方法失败 则执行catch代码块 在lblMessage中显示一个错误信息 包括该异常的Message属性ex Message 如果SaveAs方法执行成功 关于上传文件的多个信息将显示在lblMessage中 这些信息通过FileUpload PostedFile(类型为HttpPostedFile)中的属性获取 Display按钮的Click事件处理程序与前面的类似 只不过它不是显示文件信息 而是显示文件内容 它通过使用FileContent属性获取表现为Stream对象的上传文件的内容 然后这个Stream对象被用于实例化一个StreamReader对象 StreamReader的Read Line方法逐行的遍历文件 然后把合并后的字符串显示在lblDisplay中 当在讨论从客户端上传文件到web服务器时 安全是非常让人关注的 须注意两点 首先 使用这种方式会公开web服务器 从而会有非常大的安全漏洞 为此要特别细心 因为这样不仅可以上传病毒 木马和其他恶意软件 还会存在客户端浏览web服务器目录结构的危险 因此 应该使用硬编码目标目录 至少严格限定在哪里保存上传的文件 另外 要注意的一点是 允许在磁盘写文件所必需的权限 在开发web应用程序时 一般情况下 开发机器同时也是web服务器 特别是使用VS 默认的开发模式 在该模式下使用的是内置的web服务器 并且不通过IIS访问网站而是由文件系统访问网站 这样 永远也不会有权限问题 然而 当网站部署到产品服务器上 且该网站通过IIS和虚拟目录来访问时 就会出现问题 这是因为运行ASP NET的账户必须拥有对用于保存上传文件的目录的写权限 在Windows /XP中 账户的名称是ASPNET 在Windows Server 中 写权限必须分配给IIS_WPG账户组 利用FileUpload控件并结合良好的安全防护 用户可以把自己的文件传送到网站 以丰富网站功能 lishixin/Article/program/net/201311/13538

2. ASP.NET上传文件代码!!怎么写比如说:上传图片

/*

我修改了一天时间.终于找到门路了。呵呵
ACCESS中存放文件内容的字段类型为:OLE对象
SQL中存放文件内容的字段类型为:image
此代码为上传文件代码.梢后整理发布下载文件代码

代码设计实现功能:asp.NET上传文件到指定文件夹,ACCESS数据库,SQL数据库代码

已经测试文件格式 .TXT,JPG..MDB.GIF

*/

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Data.OleDb;
using System.Data.SqlClient;
namespace WebApplication1.ManageFile
{
/// <summary>
/// ManageUploadFile 的摘要说明。
/// </summary>
public class ManageUploadFile : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.HtmlControls.HtmlInputFile file1;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.CheckBox CheckBox1;
protected System.Web.UI.WebControls.Button Button4;
protected System.Web.UI.WebControls.Button Button5;
protected System.Web.UI.WebControls.Button Button3;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Button3.Click += new System.EventHandler(this.Button3_Click);
this.Button4.Click += new System.EventHandler(this.Button4_Click);
this.Button5.Click += new System.EventHandler(this.Button5_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void Button1_ServerClick(object sender, System.EventArgs e)
{
if(file1.PostedFile.FileName!="")
{
if(CheckBox1.Checked)
{

}
else
{
//上传文件到数据库中
string sUploadFileName=file1.PostedFile.FileName;
string strUploadFile=Server.MapPath(".")+"\\"+DropDownList1.SelectedItem.Text.ToString()+"\\";
sUploadFileName=sUploadFileName.Substring(sUploadFileName.LastIndexOf("\\")).Replace("\\","");
string sUploadFilePath=strUploadFile+sUploadFileName;
int sUploadFileLength=file1.PostedFile.ContentLength;
string sUploadFileType=file1.PostedFile.ContentType.ToString();

//AppDomain.CurrentDomain.BaseDirectory.ToString()站点跟目录
//file1.PostedFile.SaveAs(sUploadFilePath);

System.Byte[] Docbuffer = new byte[sUploadFileLength];
Stream objStream = file1.PostedFile.InputStream;
objStream.Read(Docbuffer,0,sUploadFileLength);

string DbName=Server.MapPath(".")+"\\DataBase\\HtmlFile.mdb";
string ConnectionString ="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + DbName;

string AccessSqlString="Insert Into UploadFiles(UploadFileName,UploadFileType,UploadFilePath,UploadFileLength,UploadFileContent) Values('" +sUploadFileName+ "','"+sUploadFileType+ "','" +sUploadFilePath+ "',"+sUploadFileLength+ ","+ Docbuffer + ")";

OleDbConnection myConnection =new OleDbConnection(ConnectionString);
myConnection.Open();
OleDbCommand myCommand =new OleDbCommand(AccessSqlString,myConnection);
myCommand.ExecuteNonQuery();
myConnection.Close();

string strUpfileResult="上传文件到数据库成功\r\n";
strUpfileResult=strUpfileResult+"文件名"+sUploadFileName+"\r\n";
strUpfileResult=strUpfileResult+"文件大小"+sUploadFileLength+"\r\n";
strUpfileResult=strUpfileResult+"文件格式"+sUploadFileType+"\r\n";

TextBox1.Text=strUpfileResult;
}
}
}

private void Button2_Click(object sender, System.EventArgs e)
{
string strCurrentDirectory=Server.MapPath(".");
DirectoryInfo di=new DirectoryInfo(strCurrentDirectory);
int dtotal=0;
if(DropDownList1.Items.Count!=0)
{
for(int j=DropDownList1.Items.Count-1;j>=0;j--)
{
DropDownList1.Items.RemoveAt(j);
}
}

for(int i=0;i<di.GetDirectories().Length;i++)
{
//subd=subd+"<br>"+di.GetDirectories().GetValue(i);
dtotal=dtotal+1;
DropDownList1.Items.Add(di.GetDirectories().GetValue(i).ToString());
}

}

private void Button3_Click(object sender, System.EventArgs e)
{
string sUploadFileName=file1.PostedFile.FileName;
string strUploadFile=Server.MapPath(".")+"\\"+DropDownList1.SelectedItem.Text.ToString()+"\\";
sUploadFileName=sUploadFileName.Substring(sUploadFileName.LastIndexOf("\\")).Replace("\\","");
string sPath=strUploadFile+sUploadFileName;
//AppDomain.CurrentDomain.BaseDirectory.ToString()站点跟目录
file1.PostedFile.SaveAs(sPath);
string sUploadFileLength=file1.PostedFile.ContentLength.ToString();
string sUploadFileType=file1.PostedFile.ContentType.ToString();

string strUpfileResult="上传文件成功\r\n";
strUpfileResult=strUpfileResult+"文件名"+sUploadFileName+"\r\n";
strUpfileResult=strUpfileResult+"文件大小"+sUploadFileLength+"\r\n";
strUpfileResult=strUpfileResult+"文件格式"+sUploadFileType+"\r\n";

TextBox1.Text=strUpfileResult;
}

private void Button4_Click(object sender, System.EventArgs e)
{

//上传文件到数据库中
string sUploadFileName=file1.PostedFile.FileName;
string strUploadFile=Server.MapPath(".")+"\\"+DropDownList1.SelectedItem.Text.ToString()+"\\";
sUploadFileName=sUploadFileName.Substring(sUploadFileName.LastIndexOf("\\")).Replace("\\","");
string sUploadFilePath=strUploadFile+sUploadFileName;
int sUploadFileLength=file1.PostedFile.ContentLength;
string sUploadFileType=file1.PostedFile.ContentType.ToString();

//AppDomain.CurrentDomain.BaseDirectory.ToString()站点跟目录
//file1.PostedFile.SaveAs(sUploadFilePath);

System.Byte[] Docbuffer = new byte[sUploadFileLength];
Stream objStream = file1.PostedFile.InputStream;
objStream.Read(Docbuffer,0,sUploadFileLength);

string DbName=Server.MapPath(".")+"\\DataBase\\HtmlFile.mdb";
string ConnectionString ="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + DbName;

//string AccessSqlString="Insert Into UploadFiles(UploadFileName,UploadFileType,UploadFilePath,UploadFileLength) Values('" +sUploadFileName+ "','"+sUploadFileType+ "','" +sUploadFilePath+ "',"+sUploadFileLength+")";
string AccessSqlString="Insert Into UploadFiles(UploadFileName,UploadFileType,UploadFilePath,UploadFileLength,UploadFileContent) Values('" +sUploadFileName+ "','"+sUploadFileType+ "','" +sUploadFilePath+ "',"+sUploadFileLength+ ",'"+ Docbuffer + "')";

OleDbConnection myConnection =new OleDbConnection(ConnectionString);
myConnection.Open();
OleDbCommand myCommand =new OleDbCommand(AccessSqlString,myConnection);
myCommand.ExecuteNonQuery();
myConnection.Close();

string strUpfileResult="上传文件到数据库成功\r\n";
strUpfileResult=strUpfileResult+"上传文件名"+sUploadFileName+"\r\n";
strUpfileResult=strUpfileResult+"上传文件大小"+sUploadFileLength+"\r\n";
strUpfileResult=strUpfileResult+"上传文件路径"+sUploadFilePath+"\r\n";
strUpfileResult=strUpfileResult+"上传文件格式"+sUploadFileType+"\r\n";
TextBox1.Text=strUpfileResult;

}

private void Button5_Click(object sender, System.EventArgs e)
{

//上传文件到数据库中
string sUploadFileName=file1.PostedFile.FileName;
string strUploadFile=Server.MapPath(".")+"\\"+DropDownList1.SelectedItem.Text.ToString()+"\\";

sUploadFileName=sUploadFileName.Substring(sUploadFileName.LastIndexOf("\\")).Replace("\\","");
string sUploadFilePath=strUploadFile+sUploadFileName;
int sUploadFileLength=file1.PostedFile.ContentLength;
string sUploadFileType=file1.PostedFile.ContentType.ToString();

//AppDomain.CurrentDomain.BaseDirectory.ToString()站点跟目录
//file1.PostedFile.SaveAs(sUploadFilePath);

System.Byte[] Docbuffer = new byte[sUploadFileLength];
Stream objStream = file1.PostedFile.InputStream;
objStream.Read(Docbuffer,0,sUploadFileLength);

//string strCon ="Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;";
//UID=sa,PWD=hNXQF222,Server=127.0.0.1,Database=Aspnet";
/*
SqlCommand myCommand = new SqlCommand(myExecuteQuery, myConnection);
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
*/

string strConn ="DATABASE=Aspuser;SERVER=localhost;UID=sa;PWD=hNXQF222;";
SqlConnection Conn = new SqlConnection(strConn);
Conn.Open();
string mySqlCommand = "INSERT INTO UploadFiles (UploadFileName,UploadFileType,UploadFilePath,UploadFileLength,UploadFileContent) VALUES (@UploadFileName,@UploadFileType,@UploadFilePath,@UploadFileLength,@UploadFileContent)";

SqlCommand CmdObj = new SqlCommand(mySqlCommand, Conn);
CmdObj.Parameters.Add("@UploadFileName",SqlDbType.VarChar,50).Value = sUploadFileName;
CmdObj.Parameters.Add("@UploadFileType",SqlDbType.VarChar,50).Value = sUploadFileType;
CmdObj.Parameters.Add("@UploadFilePath",SqlDbType.VarChar,200).Value = sUploadFilePath;
CmdObj.Parameters.Add("@UploadFileLength",SqlDbType.BigInt,8).Value = sUploadFileLength;
CmdObj.Parameters.Add("@UploadFileContent",SqlDbType.Image).Value = Docbuffer;
CmdObj.ExecuteNonQuery();

Conn.Close();

string strUpfileResult="上传文件到数据库成功\r\n";
strUpfileResult=strUpfileResult+"上传文件名"+sUploadFileName+"\r\n";
strUpfileResult=strUpfileResult+"上传文件大小"+sUploadFileLength+"\r\n";
strUpfileResult=strUpfileResult+"上传文件路径"+sUploadFilePath+"\r\n";
strUpfileResult=strUpfileResult+"上传文件格式"+sUploadFileType+"\r\n";
TextBox1.Text=strUpfileResult;
}
}
}

3. 我网站里自己出现了“aspnet_client”这个文件夹,是干什么的

安装了.net框架之后,就会在网站目录下出现这样的文件夹.用以支持.net环境.1_1_4322表示你的.net
framework
版本
1.1.4322,里面的3个文件用于为.net验证控件提供脚本支持

4. 我网站里自己出现了“aspnet_client”这个文件夹,是干什么的

安装了.net框架之后,就会在网站目录下出现这样的文件夹.用以支持专.net环境.1_1_4322表示你的属.net framework 的版本为 1.1.4322,里面的3个文件用于为.net验证控件提供脚本支持

5. 网站主机上突然冒出个aspnet_client文件夹怎么也删不掉!怎么办

是中病毒了,中了病毒一般都会操作异常也删除不了,电脑是有病毒就要杀除,不尽早杀除就会影响你的电脑,用金山毒霸2011吧,云技术还是挺厉害的,主要是小,而且快,你可以去网络搜索金山毒霸2011,在第一页的第一条连接就能找到免费下载的地址

6. jquery Uploadify上传文件

Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示。不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示或下载。

首先按下面的步骤来实现一个简单的上传功能。

1 创建Web项目,命名为JQueryUploadDemo,从官网上下载最新的版本解压后添加到项目中。

2 在项目中添加UploadHandler.ashx文件用来处理文件的上传。

3 在项目中添加UploadFile文件夹,用来存放上传的文件。

进行完上面三步后项目的基本结构如下图:

7. 关于asp.net 的几个名词解释,求助。。

1.Request对象
作用是与客户端交互,收集客户端的Form、Cookies、超链接,或者收集服务器端的环境变量。
request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。

Request对象的语法如下:
Request[.collectionlpropertylmethod](variable)
collection集合
clientcertificate 得到在HTTP请求中传递在客户端认证域的值
cookies 使用此集合,可得到cookies值
form 得到form对象中元素的值
querystring 得到变量的值
servervariables 得到预置的环境变量的值
property属性
totalbytes (只读)指定从客户端传递总字节数
buffer 表明页面输出是否有缓冲
cachecontrol 决定代理服务器是否能够对asp的输出进行快取
property属性
charset 字符集
contenttype 指定response的HTTP内容类型
expires 定义一个浏览器缓存中的页面在多长时间后过期
expiresabsolute 定义一个浏览器缓存中的页面什么日期时间后过期
isclientconnected 用户是否连接到服务器
pics 设置pics-label response标题的值,标示pics内容等级
status 由服务器返回的状态行
说明:
1、其中collection表示集合,它和数组很类似,是由若干元素组成的集合。不过数组一般只能用索引(下标)来引用每一个元素,而集合不仅可以用索引来引用每一个元素的值,还可以用元素的名称来引用,如Request.Form("txtA")。事实上,后者是常用的方法。
2、variable又称参数,它就是要获取的元素的名称,可以是字符串常量或字符串变量。例如,对表单信息来说,variable就是每一个表单元素的名称。
3、“【”和“】”之间的参数可以省略,如Request("txtA")。此时因为没有指定集合,所以ASP将会依次在QueryString、Form、Cookies、ServerVariables、ClientCertificate这5种集合中检查是否有信息传入。如果有信息传入,则会返回获取的信息。
4、请注意上面的第二个例子,其中前面的strB是定义的一个变量名称,而后面的strB则是集合中一个元素的名称,两者不是一回事。
method方法
binaryread 得到从客户端传给服务器端的数据
1.Request对象是ASP中常用的对象,用于获取客户端的信息,可以使用Request对象访问任何基于HTTP请求传递的所有信息。通过Request对象能够获得客户端发送给服务器的信息,不能将服务器端的数据发送给客户端的浏览器。Request对象的属性TotalBytes的功能是取得客户端响应数据字节大小。Request对象的方法BinaryRead的功能是以二进制方式读取客户端post的数据。

request对象有五个集合,下面予以介绍:
QueryString
:用以获取客户端附在url地址后的查询字符串中的信息。
例如:stra=Request.QueryString ["strUserld"]
Form
:用以获取客户端在FORM表单中所输入的信息。(表单的method属性值需要为POST)
例如:stra=Request.Form["strUserld"]
Cookies
:用以获取客户端的Cookie信息。
例如:stra=Request.Cookies["strUserld"]
ServerVariables
:用以获取客户端发出的HTTP请求信息中的头信息及服务器端环境变量信息。
例如:stra=Request.ServerVariables["REMOTE_ADDR"],返回客户端IP地址
ClientCertificate
:用以获取客户端的身份验证信息
例如:stra=Request.ClientCertificate["VALIDFORM"],对于要求安全验证的网站,返回有效起始日期。

2session对象

用于存储特定的用户会话所需的信息 。 Session对象的引入是为了弥补HTTP协议的不足,HTTP协议是一种无状态的协议。
Session中文是“会话”的意思,在ASP中代表了服务器与客户端之间的“会话”。Session的作用时间从用户到达某个特定的Web页开始,到该用户离开Web站点,或在程序中利用代码终止某个Session结束。引用Session 则可以让一个用户访问多个页面之间的切换也会保留该用户的信息。
系统为每个访问者都设立一个独立的Session对象,用以存储Session变量,并且各个访问者的Session对象互不干扰。
Session与Cookie是紧密相关的。 Session的使用要求用户浏览器必须支持Cookie,如果浏览器不支持使用Cookie,或者设置为禁用Cookie,那么将不能使用Session。
Session信息对客户来说,不同的用户用不同的Session信息来记录。当用户启用Session时,ASP自动产生一个SessionID.在新会话开始时,服务器将SessionID当做cookie存储在用户的浏览器中。
session语法:
session.集合∣属性∣方法
举例:
<html>
<head>
<title>学好session加油</title>
</head>
<body>
<%
session("greeting")="ASP“
Response.write(session("greeting"))
%>
</body>
</html>
Session对象的集合、属性、方法、事件
名称 描述
Contents集合 包含所有通过脚本命令添加到应用程序中的数据项
SessionID属性 用来标识每一个Session对象
TimeOut属性 用来设置Session会话的超时时间(以分钟表示)
Abandon方法 强行删除当前会话的Session对象,释放系统资源
Session_OnStart事件 建立Session对象时所激发的事件
Session_OnEnd事件 结束Session对象时所激发的事件
StaticObjects集合 包含所有通过<OBJECT>标记添加到应用程序中的对象

3

CompareValidator 控件用于将由用户输入到输入控件的值与输入到其他输入控件的值或常数值进行比较。

注释:如果输入控件为空,则不会调用任何验证函数,并且验证将成功。使用 RequiredFieldValidator 控件使字段成为必选字段。
属性
属性 描述
BackColor CompareValidator 控件的背景颜色。
ControlToCompare 要与所验证的输入控件进行比较的输入控件。
ControlToValidate 要验证的输入控件的 ID。
Display 验证控件中错误信息的显示行为。

合法值是:

None 验证消息从不内联显示。
Static 在页面布局中分配用于显示验证消息的空间。
Dynamic 如果验证失败,将用于显示验证消息的空间动态添加到页面。

EnableClientScript 布尔值,规定是否启用客户端验证。
Enabled 布尔值,规定是否启用验证控件。
ErrorMessage 当验证失败时在 ValidationSummary 控件中显示的文本。

注释:如果未设置 Text 属性,此文本将显示在验证控件中。

ForeColor 控件的前景颜色。
id 控件的唯一 ID。
IsValid 布尔值,指示由 ControlToValidate 指定的输入控件是否通过验证。
Operator 要执行的比较操作的类型。

运算符是:

Equal
GreaterThan
GreaterThanEqual
LessThan
LessThanEqual
NotEqual
DataTypeCheck

runat 规定控件是服务器控件。必须设置为 "server"。
Text 当验证失败时显示的消息。
Type 规定要对比的值的数据类型。

类型有:

Currency
Date
Double
Integer
String

ValueToCompare 一个常数值,该值要与由用户输入到所验证的输入控件中的值进行比较。
实例
CompareValidator
在此例中,我们在 .aspx 文件中声明了两个 TextBox 控件,一个 Button 控件,以及一个 CompareValidator 控件。如果验证失败,将在 CompareValidator 控件中使用黄色背景红色文本显示 "Validation Failed!"。
CompareValidator 2
在此例中,我们在 .aspx 文件中声明了两个 TextBox,一个 ListBox 控件,一个 Button 控件,以及一个 CompareValidator 控件。check_operator() 函数把 ListBox 控件中选取的运算符设置为 CompareValidator 控件的运算符,然后对 CompareValidator 控件进行验证。如果验证失败,将在 CompareValidator 控件中使用黄色背景和红色文本显示 "Validation Failed!"。

4.FileUpload控件
FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器。用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles\TestFile.txt)来指定要上载的文件。用户也可以通过单击“浏览”按钮,然后在“选择文件”对话框中定位文件来选择文件。
用户选择要上载的文件后,FileUpload 控件不会自动将该文件保存到服务器。您必须显式提供一个控件或机制,使用户能提交指定的文件。例如,可以提供一个按钮,用户单击它即可上载文件。为保存指定文件所写的代码应调用 SaveAs 方法,该方法将文件内容保存到服务器上的指定路径。通常,在引发回发到服务器的事件的事件处理方法中调用 SaveAs 方法。
在文件上传的过程中,文件数据作为页面请求的一部分,上传并缓存到服务器的内存中,然后再写入服务器的物理硬盘中。
有三个方面需要注意:
1.确认是否包含文件
在调用 SaveAs 方法将文件保存到服务器之前,使用 HasFile 属性来验证 FileUpload 控件确实包含文件。若 HasFile 返回 true,则调用 SaveAs 方法。如果它返回 false,则向用户显示消息,指示控件不包含文件。不要通过检查PostedFile 属性来确定要上载的文件是否存在,因为默认情况下该属性包含 0 字节。因此,即使 FileUpload 控件为空,PostedFile 属性仍返回一个非空值。
2.文件上传大小限制
默认情况下,上传文件大小限制为 4096 KB (4 MB)。可以通过设置 httpRuntime 元素的 maxRequestLength 属性来允许上载更大的文件。若要增加整个应用程序所允许的最大文件大小,请设置 Web.config 文件中的 maxRequestLength 属性。若要增加指定页所允许的最大文件大小,请设置 Web.config 中 location 元素内的 maxRequestLength 属性。
上载较大文件时,用户也可能接收到以下错误信息:
aspnet_wp.exe (PID: 1520) was recycled because memory consumption exceeded 460 MB (60 percent of available RAM).
以上信息说明,上传文件的大小不能超过服务器内存大小的60%。这里的60%是Web。config文件的默认配置,是<processModel>配置节中的 memoryLimit 属性默认值。虽然可以修改,但是如果上传文件越大,成功几率越小,不建议使用。
3.上传文件夹的写入权限
应用程序可以通过两种方式获得写访问权限。您可以将要保存上载文件的目录的写访问权限显式授予运行应用程序所使用的帐户。您也可以提高为 ASP.NET 应用程序授予的信任级别。若要使应用程序获得执行目录的写访问权限,必须将 AspNetHostingPermission 对象授予应用程序并将其信任级别设置为 AspNetHostingPermissionLevel.Medium 值。提高信任级别可提高应用程序对服务器资源的访问权限。请注意,该方法并不安全,因为如果怀有恶意的用户控制了应用程序,他(她)也能以更高的信任级别运行应用程序。最好的做法就是在仅具有运行该应用程序所需的最低特权的用户上下文中运行 ASP.NET 应用程序。

FileUpload控件的常用属性:

属性
数据类型
说明

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属性,仅能获得文件名)。

5.DataAdapter
表示一组 SQL 命令和一个数据库连接,它们用于填充 DataSet和更新数据源。 命名空间:System.Data.Common
程序集:System.Data(在 system.data.dll 中)
语法 public class DataAdapter : Component, IDataAdapter
DataAdapter 用作 DataSet 和数据源之间的桥接器以便检索和保存数据。DataAdapter 通过映射Fill(这更改了 DataSet 中的数据以便与数据源中的数据相匹配)和Update(这更改了数据源中的数据以便与 DataSet 中的数据相匹配)来提供这一桥接器。
如果所连接的是 SQL Server 数据库,则可以通过将SqlDataAdapter与关联的SqlCommand和SqlConnection对象一起使用,从而提高总体性能。对于支持 OLE DB 的数据源,请使用 DataAdapter 及其关联的OleDbCommand和 OleDbConnection 对象。对于支持 ODBC 的数据源,请使用 DataAdapter 及其关联的OdbcCommand和OdbcConnection对象。对于 Oracle 数据库,请使用 DataAdapter 及其关联的OracleCommand和OracleConnection对象。
当创建 DataAdapter 的实例时,读/写属性将被设置为初始值。有关这些值的列表,请参见 DataAdapter 构造函数

这些都出自网络。其实我也不懂。能帮一点帮一点吧。

阅读全文

与aspnet自动上传文件相关的资料

热点内容
ps入门必备文件 浏览:348
以前的相亲网站怎么没有了 浏览:15
苹果6耳机听歌有滋滋声 浏览:768
怎么彻底删除linux文件 浏览:379
编程中字体的颜色是什么意思 浏览:534
网站关键词多少个字符 浏览:917
汇川am系列用什么编程 浏览:41
笔记本win10我的电脑在哪里打开摄像头 浏览:827
医院单位基本工资去哪个app查询 浏览:18
css源码应该用什么文件 浏览:915
编程ts是什么意思呢 浏览:509
c盘cad占用空间的文件 浏览:89
不锈钢大小头模具如何编程 浏览:972
什么格式的配置文件比较主流 浏览:984
增加目录word 浏览:5
提取不相邻两列数据如何做图表 浏览:45
r9s支持的网络制式 浏览:633
什么是提交事务的编程 浏览:237
win10打字卡住 浏览:774
linux普通用户关机 浏览:114

友情链接