Web 客户端页面对文件的上传或者下载操作是
ASP.NET 开发过程中经常会用到的一项技术。这项技术可以给用户带来非常方便的文件操作,可以直接在网页上进行文件的上传或者下载。通过Web 网页上传或者下载的文件一般为除文件夹以外的其他文件,例如压缩文件、Word 文档、Excel 文件、EXE 应用文件等等。所以在文件进行上传时,要先对文件进行前期的处理,使之成为可以上传的非文件夹文件。经过处理后的文件才可以进行上传,否则进行上传的文件将无法进行上传。
文件的下载是将处理好的非文件夹文件放置在一个指定的文件夹内,通过Web 页面显示出来,点击打开链接然后进行文件的下载和保存。
前端大文件上传解决方案1
文件的上传
1.1文件上传实现过程
在VS2012软件开发平台中,首先要对需要上传的
文件进行Web 页面的控件选择,VS2012自带的文件上传控件为FileUpload,选择此控件后,还需要再添加
一个Button 按钮,用来激活所选择需要上传的文件,使这些控件置于WebForm 页面上后进行控件的布局,布局完成后,再进行代码的编写。
上传文件选择时,控件FileUpload 对文件的选择对话框,会提示包括非文件夹以外的文件,选择好需要上
传的文件后,控件会把所选择的文件名称及类型显示在页面上。点击“文件上传”按钮,就会把所选择的上传文件上传至服务器所在的指定文件夹里,文件上传功能就实现了。
其中文件上传界面如图1所示。
文中只对非文件夹文件的上传做了详细的代码编写以及上传文件大小的详细说明,上传文件的选择控件为VS2012编程平台自带的FileUpload 控件,点击编译过的该控件后程序会自动弹出文件选择对话框,从而可以让用户自主选择自己需要上传的文件,例如其中文件上传按钮的原代码如下:
protected void FilesUpBut_Click(object sender,Even⁃tArgs e){
HttpFileCollection uploadFiles =Request.Files;string filePath =Server.MapPath("../UpLoadfiles/files/");
string fileName =filePath +FileUpload1.File⁃Name;//获得上传文件的文件名
if (FileUpload1.HasFile ||FileUpload2.HasFile ||FileUpload3.HasFile ||FileUpload4.HasFile)
{
for (int i =0;i <uploadFiles.Count;i++){
HttpPostedFile userPostedFile =uploadFiles[i];
if (userPostedFile.ContentLength >0){作者简介:张峥瑶(1993-),女,本科,经济学学士,
助理工程师,研究方向:安全监控软件的开发以及测试、煤矿安全监控系统产品的检测等。收稿日期:2019-01-13
文件上传和下载在ASP.NET 中的设计应用
张峥瑶1,2,常利铭1,2
(1.瓦斯灾害监控与应急技术国家重点实验室,重庆400039;2.中煤科工集团重庆研究院有限公司,重庆400039)
摘
要:在软件开发平台VS2012中进行软件开发,通过用JS 和C#语言对Web 前端和后端的网页进行代码的编写开发,使需要上传和下载的文件通过打开的Web 网页进行本地的上传和客户端的下载,从而达到设计应用的目的。对Web 前端和后端文件上传和下载技术进行了重点阐述,把这个实现的过程详尽地展示出来。
关键词:ASP.NET 编程环境;Web
前端和后端;本地的上传;客户端的下载
图1
多文件上传设计图
userPostedFile.SaveAs(fileName);
}
}
Response.Write("<script>alert('恭喜您,上传成功!')</script>");
}else {
Response.Write ("<script>alert ('请选择要上传的文件!')</script>");
}}
对上传文件按钮的点击事件进行代码编写,首先要把上传文件的路径确定下来,这样才可以在选择好文件后把文件上传到服务器指定的文件夹里。所选择的文件默认为非文件夹选项,当上传成功后,页面会以对话框的形式提示上传成功。此处指定了一次上传4个所选择的文件。
1.2上传文件的大小要求
在项目生成时,系统自动生成的fig 配置
文件里面,默认的上传文件大小为maxRequestLength="40960",即为4MB (1MB 为1024KB)大小,所以如果在页面的客户端上传的文件大小超过4MB 时,那么文
件上传页面就会出错,所以配置文件中上传文件的大小需要进行更改,才可以上传比较大的文件。
配置文件中上传文件的大小需要对maxRequestLen gth="40960"进行修改,可根据自己的需要修改本文中修改上传文件的大小修改为40MB,也可以在服务器端的Internet 信息服务(IIS)管理器上进行修改发布,而此发布平台对上传的文件大小的限制默认为30MB。如果需要进行较大文件的上传,那么可以通过两种途径来实现。一种是在自己的fig 配置文件中进行修改,此种方法上传的文件一般为百兆级别,另一种是借助第三方控件例如NeatUpload 控件,可以上传千兆级别的大文件,此种上传方式的上传速度相比修改配置文件进行文件上传的速度要快很多。
2
文件的下载
2.1加载显示的数据及资料下载链接
在文件上传到服务器指定的文件夹以后,就可以在
下载页面对需要下载的文件进行下载。本文通过<asp:GridView/>网页控件加载显示的数据以及加载LinkBut⁃ton 按钮控件,来实现对需要的文件进行下载。其加载
主页面如图2所示。
2.2资料下载代码编写
点击资料下载即在LinkButton 按钮点击事件中调出
文件下载页面,对需要下载的文件进行选择下载。其中资料下载页面如图3所示,LinkButton 按钮点击事件代码如下所示:
/////////////////////LinkButton 按钮点击事件/////////////////////////protected void LinkButton_Click (object sender,Even⁃tArgs e){
string strBm1=string.Format (@"/{0}",Public⁃Class.strFresh),strBm2=string.Format (@"/{0}/BOM 表",PublicClass.strFresh),
filename1=Server.MapPath ("DownLoadFiles"+strBm1),
filename2=Server.MapPath ("DownLoadFiles"+strBm2);
DirectoryInfo root1=new DirectoryInfo (filename1);DirectoryInfo root2=new DirectoryInfo(filename2);
bool fiexist1=root1.Exists,fiexist2=root2.Ex⁃ists;
if (!fiexist1||!fiexist2){
Response.Write("<script>alert('请确认BOM 表文件所在文件夹是否存在!!','系统提示')</script>");
}else {
FileInfo[]files =root2.GetFiles();//只获得路径下所有//文件名称信息
if (files.Length ==
0)图2
资料显示以及下载主界面
图3资料下载界面图
(下转第26页)
{
Response.Write(("<script>alert('请确认BOM表文件是否存在!!','系统提示')</script>"));
}
else
{
string[]filestr=Directory.GetFiles(file⁃name2);
FileStream fs=new FileStream(filestr[0], FileMode.Open);
byte[]bytes=new byte[(int)fs.Length];
fs.Read(bytes,0,bytes.Length);
fs.Close();
Response.ContentType="application/ octet-stream";
Response.Charset="UTF-8";
/
/通知浏览器下载文件而不是打开
Response.AddHeader("Content-Disposi⁃tion","attachment;filename="+Server.UrlEncode(files [0].Name));//防止汉字转换时不是乱码出现
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}}}
以上LinkButton点击事件代码编写,首先要确定下载文件的路径,如果下载文件路径中的文件不存在,系统会进行出错提示,如果下载的资料中下载文件存在,那么通过文件流读取的方式,把要下载的文件读取解码并保存在客户端系统中。整个资料的下载就完成了。3资料查询系统的使用效果
资料查询系统的开发和使用,在实际应用中取得了不错的效果,使用此系统的所有部门可以进行资料的电子文档保存以及相关资料的系统查询,不用再去拿纸质文档资料进行比对和复印,可以直接在查询系统中下载自己需要的资料,然后打印新的资料更换老的资料等操作,此系统的应用大大提高了部门人员的办公效率,得到了相关部门的一致认可。
4结语
非文件夹文件的上传和下载在网页制作过程中是经常要用到的一项常规技术,详细讲述了文件如何上传和下载的过程,以及每个功能实现的详细代码说明,包括制作完成后的网站对于文件的上传、下载的使用情况等。
参考文献
[1]商杰,朱忠旭.ASP.NET平台多文件的上传和下载[J].工业控制计算机,2013,12:42-43. [2]李颖云,张克.基于ASP.NET的文件上传和下载[J].电脑知识与技术,2007,06:47-50. [3]李向军,付雪峰.ASP.NET程序设计[M].清华大
学出版社.
[4](英)夏普.Visual C#2010从入门到精通[M].清
华大学出版社.
两个算法训练过程中,所获得分如图1,图2所示,从这两幅图中可以看出,虽然在学习过程中,两个算法都在较短的时间内学习到了最优策略,并且最终都将得分稳定在较高的水平,接近设定的最高值,但
是这两个算法的平均得分却表现出了不同的变化情况。具体来说,就是在Pong游戏中,LSTM-DRL算法中训练网络的收敛速度远比GA3C快;而在Boxing游戏中, LSTM-DRL算法中训练网络的收敛速度则稍慢于GA3C。但是,在训练初期,LSTM-DRL算法平均得分的上升速度都明显高于GA3C。
3结语
LSTM-DRL算法得益于LSTM保存和处理历史状态信息的出表现,较大减小了系统在学习过程中所需的计算规模和存储规模,学习速度和效果得到了明显的提升。相较于GA3C,网络结构复杂度增加,对复杂环境的特征表达能力也得到了进一步加强。通过实验可以看出,该算法在求解POMDP问题时的表现得到了明显的提高。
参考文献
[1]刘全,闫岩,朱斐,吴文,张琳琳.一种带探索噪
音的深度循环Q网络[J/OL].计算机学报,2019: 1-16.
[2]徐松林.深度强化学习概述[J].电脑知识与技术, 2019,15(03):193-194.
[3]罗舒俊.基于深度强化学习的多代理马尔科夫游戏[J].电脑编程技巧与维护,2018,(12):10-13.
(上接第16页)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论