实验07 文件上传系统的制作swf.docx

上传人:b****4 文档编号:3779529 上传时间:2022-11-25 格式:DOCX 页数:21 大小:22.94KB
下载 相关 举报
实验07 文件上传系统的制作swf.docx_第1页
第1页 / 共21页
实验07 文件上传系统的制作swf.docx_第2页
第2页 / 共21页
实验07 文件上传系统的制作swf.docx_第3页
第3页 / 共21页
实验07 文件上传系统的制作swf.docx_第4页
第4页 / 共21页
实验07 文件上传系统的制作swf.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

实验07 文件上传系统的制作swf.docx

《实验07 文件上传系统的制作swf.docx》由会员分享,可在线阅读,更多相关《实验07 文件上传系统的制作swf.docx(21页珍藏版)》请在冰豆网上搜索。

实验07 文件上传系统的制作swf.docx

实验07文件上传系统的制作swf

实验07文件上传系统的制作

实验目的:

1、掌握文件上传系统的基本原理及逻辑过程。

2、掌握文件上传系统中常用函数的使用方法。

3、掌握文件上传的设计方法。

4、掌握文件下载次数等信息的统计方法。

5、掌握FileUpload控件的使用。

6、熟悉用GridView控件的自定义字段绑定数据的基本方法。

实验环境

(1)计算机一台;

(2)MicrosoftVisualStudio.NET2005工具软件;

实验学时

2学时

实验内容及步骤

1.上传页面设计。

(1)创建一个新的网站WebSite7,并建立一个新的Web窗体downAdd.aspx。

(2)在页面中添加6个TextBox控件,分别用来表示文件名称、文件大小、文件简介、

作者、地址1、下载地址1的信息;1个RequiredFieldValidator控件,1个FileUpload

控件,1个CheckBox控件,2个Button控件,1个Label控件,将其基本属性设置为如表

7-1所示。

表7-1验证控件及其属性

控件类型控件ID属性属性值

MaxLength50

TxtsnameWidth250px

TextK

txtsbigWidth120px

TextModeMultiLine

txtsinfoWidth500px

txtauthorWidth290px

txtsadd1Width300px

Text下载地址1

TextBox

Textaddinfo1Width230px

ControlToValidatetxtsname

RequiredFieldVali

datorRequiredFieldValidato

r1ErrorMessage*必填信息

FileUploadFileUpload1

CheckBoxChks1Text本地下载

Text上传资源

BtnupOnClickBtnup_Click

Text提交

Button

BtnenterOnClickBtnenter_Click

LabellblmyWidth50px

(3)利用表格进行布局,

图7-1

(4)打开代码设计器窗口downAdd.aspx.cs,在页面上端加入引用using

System.Data.OleDb。

在downAdd.aspx页面中选择“上传资源”按钮并双击,为该按钮添加

事件过程Btnup_Click,并打开代码设计器窗口downAdd.aspx.cs,编写以下程序,实现文件

的上传:

protectedvoidBtnup_Click(objectsender,EventArgse)

{

try

{

stringfilename=FileUpload1.FileName;

stringshz=filename.Substring(filename.LastIndexOf(".")+1);

System.Randomrd=newSystem.Random();

stringafilename=System.DateTime.Now.ToString("yyyyMMdd")+rd.Next(10000)+"."

+shz;

if(shz=="swf"||shz=="SWF")

{

FileUpload1.PostedFile.SaveAs(Server.MapPath("uploadfolder")+"\\flash\\"+

afilename);

stringsn="~\\uploadfolder\\flash\\"+afilename;

upload(sn);

}

elseif(shz=="jpg"||shz=="JPG"||shz=="bmp"||shz=="BMP"||shz=="gif"

||shz=="GIF")

{

FileUpload1.PostedFile.SaveAs(Server.MapPath("uploadfolder")+"\\images\\"+

afilename);

stringsn="~\\uploadfolder\\images\\"+afilename;

upload(sn);

}

elseif(shz=="wmv"||shz=="WMV"||shz=="wma"||shz=="WMA")

{

FileUpload1.PostedFile.SaveAs(Server.MapPath("uploadfolder")+"\\media\\"+

afilename);

stringsn="~\\uploadfolder\\media\\"+afilename;

upload(sn);

}

elseif(shz=="ppt"||shz=="PPT")

{

FileUpload1.PostedFile.SaveAs(Server.MapPath("uploadfolder")+"\\ppt\\"+

afilename);

stringsn="~\\uploadfolder\\ppt\\"+afilename;

upload(sn);

}

else

{

FileUpload1.PostedFile.SaveAs(Server.MapPath("uploadfolder")+

"\\otherfile\\"+afilename);

stringsn="~\\uploadfolder\\otherfile\\"+afilename;

upload(sn);

}

}

catch(Exceptionex)

{

this.lblmy.Text="文件上传失败!

";

Response.Write(ex.Message);

}

}

protectedvoidupload(stringsn)

{

//文件信息处理

floatsbig=this.FileUpload1.PostedFile.ContentLength/1024;

this.lblmy.Text="";

if(this.txtsadd1.Text=="")

{

if(sbig>=1000)

{

sbig=sbig/1024;

this.txtsbig.Text=sbig.ToString("0.0#")+"M";

}

else

{

this.txtsbig.Text=sbig.ToString("0.0#")+"K";

}

this.txtsadd1.Text=sn;

this.Textaddinfo1.Text="本地下载1";

this.Chks1.Checked=true;

}

}

(5)在downAdd.aspx页面中选择“提交”按钮并双击,为该按钮添加事件过程

Btnenter_Click,并打开代码设计器窗口downAdd.aspx.cs,编写以下程序,将文件信息写入

到数据库以保存文件信息。

protectedvoidBtnenter_Click(objectsender,EventArgse)

{

stringsqlstr,u1,u2,u3,u4,u5,u6,u7;

u1="'"+txtsname.Text;

u2="','"+txtsbig.Text;

u3="','"+txtsinfo.Text;

u4="','"+txtauthor.Text;

u5="','"+txtsadd1.Text;

u6="','"+Textaddinfo1.Text;

u7="',"+Chks1.Checked.ToString();

sqlstr="insertintodownload(sname,sbig,author,sinfo,sadd1,addinfo1,s1)values("+u1

+u2+u3+u4+u5+u6+u7+")";

try{

//连接并打开ACCESS数据库

stringdbname=Server.MapPath("App_Data/userinfo.mdb");

stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0;DataSource='"+dbname+

"'";

OleDbConnectioncon=newOleDbConnection(strConnection);

con.Open();

//执行操作

OleDbCommandcmd=newOleDbCommand(sqlstr,con);

cmd.ExecuteNonQuery();

//关闭数据库

con.Close();

Response.Write("添加文件信息成功!

");

this.txtsbig.Text="";

this.txtsinfo.Text="";

this.txtsname.Text="";

this.txtsadd1.Text="";

this.Textaddinfo1.Text="下载地址1";

this.Chks1.Checked=false;

}

catch(Exceptionex)

{

Response.Write("添加文件信息失败!


"+ex.Message);

}

}

(6)保存并测试运行,检查文件上传功能的实现情况。

2.文件下载列表

(1)建立一个新的Web窗体downList.aspx。

(2)在downList.aspx页面中添加一个GridView控件,修改其ID为"GridView1"。

中控件并点击其右上角的三角形,选中自动套用格式,如图7-2所示,设置为“专业型”。

将其AllowPaging属性设置为"True",AutoGenerateColumns属性设置为"False",

PageSize属性设置为"15"。

图7-2

(3)为GridView1控件添加绑定字段信息。

选中控件并点击其右上角的三角形,选择

添加新列,在添加字段对话框中,选中字段类型为“HyperLinkField”;页眉文本设置为“文

件名称”;超链接文本选中“从数据字段获取文本”,设置为“sname”;超链接URL选择“从

数据字段获取URL”,设置为“sid”,URL格式字符串设置为downShow.aspx?

sid={0}。

如图

7-3所示。

图7-3

(4)为GridView1控件添加绑定字段信息。

选中控件并点击其右上角的三角形,选择添加

新列,在添加字段对话框中,选中字段类型为“BoundField”,页眉文本设置为“文件大小”,

数据字段设置为“sbig”,如图7-4所示。

图7-4

(4)用同样的方式依次添加另外3列,页眉文本分别设置为“下载次数”、“作者”、“上

传时间”,数据字段分别设置为“shit”、“author”、“sdate”。

添加完毕后,打开downList.aspx

源视图,可以看到为GridView1控件添加了以下代码:

HyperLinkFieldDataNavigateUrlFields="sid"

DataNavigateUrlFormatString="downShow.aspx?

sid={0}"DataTextField="sname"

DataTextFormatString="{0}"HeaderText="文件名称"/>

BoundFieldDataField="sbig"HeaderText="文件大小"SortExpression="sbig"/>

BoundFieldDataField="shit"HeaderText="下载次数"SortExpression="shit"/>

BoundFieldDataField="author"HeaderText="作者"SortExpression="author"/>

BoundFieldDataField="sdate"HeaderText="上传时间"SortExpression="sdate"/>

效果如图7-5所示。

图7-5

(5)在downList.aspx中选中GridView1控件,单击其属性面板中的事件按钮,选择

其OnPageIndexChanging属性并双击,为该属性增加事件过程——

“GridView1_PageIndexChanging”。

打开downList.aspx.cs文件,编写该事件过程程序。

protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse)

{

this.GridView1.PageIndex=e.NewPageIndex;

GridView1.DataBind();

}

(6)继续在downList.aspx.cs文件中编写以下程序,从数据库中读取出文件下载的相

关数据信息,并将其绑定至GridView1控件。

protectedvoidPage_Load(objectsender,EventArgse)

{

if(!

IsPostBack)

{

bind();

}

}

privatevoidbind()

{

stringdbname=Server.MapPath("App_Data/resource.mdb");

OleDbConnectioncon=newOleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA

Source='"+dbname+"'");

con.Open();

stringsqlstr;

sqlstr="select*fromdownload";

OleDbDataAdapterda=newOleDbDataAdapter(sqlstr,con);

DataSetds=newDataSet();

da.Fill(ds,"data");

GridView1.DataSource=ds.Tables["data"];

this.GridView1.DataKeyNames=newstring[]{"sid"};

GridView1.DataBind();

con.Close();

}

(7)保存文件并测试运行,效果如图7-6所示。

图7-6

3.查看下载文件的详细信息。

(1)建立一个新的Web窗体downShow.aspx。

(2)在downShow.aspx页面中添加7个Label控件,修改其ID分别为lblsname、

lblsbig、lblinfo、lblauthor、lbladddate、lblshit、hlk1,分别用来显示文件名称、文

件大小、文件简介、作者、上传时间、下载次数和下载地址的信息。

(3)利用表格进行页面布局,如图7-7所示。

图7-7

(4)打开downShow.aspx.cs文件,编写以下程序。

protectedvoidPage_Load(objectsender,EventArgse)

{

if(!

IsPostBack)

{

bind();

}

}

privatevoidbind()

{

if(Request.QueryString["sid"].ToString()!

=null&&

Request.QueryString["sid"].ToString()!

="")

{

stringid=Request.QueryString["sid"].ToString();

stringdbname=Server.MapPath("App_Data/resource.mdb");

OleDbConnectioncon=newOleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA

Source='"+dbname+"'");

con.Open();

stringsqlstr;

sqlstr="select*fromdownloadwheresid="+id;

OleDbCommandcmd=newOleDbCommand(sqlstr,con);

OleDbDataReaderdr=cmd.ExecuteReader();

dr.Read();

lblsname.Text=dr["sname"].ToString();

lblshit.Text=dr["shit"].ToString();

lblsbig.Text=dr["sbig"].ToString();

lblauthor.Text=dr["author"].ToString();

lbladddate.Text=dr["sdate"].ToString();

lblinfo.Text=dr["sinfo"].ToString();

if(dr["sadd1"].ToString()!

="")

{

this.hlk1.Visible=true;

this.hlk1.Text=dr["addinfo1"].ToString();

this.hlk1.NavigateUrl="downShit.aspx?

id="+id+"&adr="+

dr["sadd1"].ToString();

}

dr.Close();

con.Close();

}

}

(5)保存文件,并测试运行,从downList.aspx下载列表中单击选择一个文件,将定

位至downShow.aspx页面,其效果如图7-8所示。

图7-8

(6)新建一个web窗体downShit.aspx,用来处理文件下载次数信息的更新。

(7)打开downShit.aspx.cs文件,并编写以下程序。

protectedvoidPage_Load(objectsender,EventArgse)

{

if(Request.QueryString["id"]!

=null&&Request.QueryString["id"].ToString()!

="")

{

bind();

Response.Redirect(@Request.QueryString["adr"].ToString());

}

}

privatevoidbind()

{

stringsqlstr="update[download]set[shit]=[shit]+1wheresid="+

Request.QueryString["id"].ToString();

try

{

//连接并打开ACCESS数据库

stringdbname=Server.MapPath("App_Data/resource.mdb");

stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0;DataSource='"+dbname

+"'";

OleDbConnectioncon=newOleDbConnection(strConnection);

con.Open();

//执行操作

OleDbCommandcmd=newOleDbCommand(sqlstr,con);

cmd.ExecuteNonQuery();

//关闭数据库

con.Close();

}

catch(Exceptionex)

{

Response.Write(ex.Message);

}

}

(8)保存文件,并测试运行,观察效果。

从downList.aspx下载列表中单击选择一个

文件,将定位至downShow.aspx页面,点击“本地下载1”,可实现文件下载,并将下载次

数增加1.

(9)刷新downShow.aspx页面,可观察到文件下载次数已经得到更新。

实验注意事项

1.文件保存时,最好不要使用中文的名称或路径,否则容易出错。

2.文件下载时的路径是从数据库中读取的,所以一定要理清文件的存储路径,在往数

据库中存取信息时,确保存储正确的文件路径,否则会出现文件存在但不能下载的情况。

3.文件下载次数信息用单独的一个页面处理后再返回,以免存在信息统计的错误。

4.GridView控件默认是绑定所有字段信息,功能有限,根据需要用自定义方法设计绑

定的字段信息,灵活运用页面之间数据传递的方法。

思考与练习

1.HTML控件中有一个Input(File)类型的控件,和标准控件中的FileUpload控件有

什么区别?

能否用Input(File)控件实现文件上传的功能?

2.如何实现文件的批量上传?

实验8用户在线注册、登录系统的制作

一、目的与要求

1.掌握在网页中进行数据库操作的基本方法。

2.掌握用户注册及登录的基本逻辑过程。

3.熟练使用各种验证控件实现页面信息的验证。

4.掌握用户注册程序的设计方法。

5.掌握用户注册程序的设计方法。

6.掌握用MD5对用户数据加密的基本原理及方法。

二、实验环境

1.计算机一台;

2.MicrosoftVisualStudio.NET2005工具软件;

三、实验内容及步骤

1.掌握用户注册及登

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1