web form designer generatedcode code可以删吗

ASP.NET技巧:教你制做Web实时进度条
每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐ASP.NET技巧:教你制做Web实时进度条,赶紧看过来吧!
网上已经有很多Web进度条的例子,但是很多都是估算时间,不能正真反应任务的真实进度。我自己结合多线程和ShowModalDialog制做了一个实时进度条,原理很简单:使用线程开始长时间的任务,定义一个Session,当任务进行到不同的阶段改变Session的值,线程开始的同时使用ShowModalDialog打开一个进度条窗口,不断刷新这个窗口获取Session值,反应出实时的进度。下面就来看看具体的代码:(文章结尾处源代码)先新建一个Default.aspx页面,客户端代码:body MS_POSITIONING="GridLayout"&&& form id="Form1" method="post" runat="server"&&&&&&&&&&& br&&&&&&&&&&& br&&&&&&&&&&& asp:Button id="Button1" runat="server" Text="Start Long Task!"/asp:Button&&& /form/body端代码:using Susing System.CponentMusing System.Dusing System.Dusing System.Wusing System.Web.SessionSusing System.Web.UI;using System.Web.UI.WebCusing System.Web.UI.Cusing System.Tnamespace WebProgressBar{&&& /**//// summary&&& /// Summary description for _Default.&&& /// /summary&&& public class _Default : System.Web.UI.Page&&& {&&&&&&& protected System.Web.UI.WebControls.Button Button1;&&&&&&& private void Page_Load(object sender, System.EventArgs e)&&&&&&& {&&&&&&&&&&& // Put user code to initialize the page here&&&&&&& }&&&&&&& Web Form Designer generated code#region Web Form Designer generated code&&&&&&& override protected void OnInit(EventArgs e)&&&&&&& {&&&&&&&&&&& //&&&&&&&&&&& // CODEGEN: This call is required by the .NET Web Form Designer.&&&&&&&&&&& //&&&&&&&&&&& InitializeComponent();&&&&&&&&&&& base.OnInit(e);&&&&&&& }&&&&&&& /**//// summary&&&&&&& /// Required method for Designer support - do not modify&&&&&&& /// the contents of this method with the code editor.&&&&&&& /// /summary&&&&&&& private void InitializeComponent()&&&&&&& {&&& &&&&&&&&&&& this.Button1.Click += new System.EventHandler(this.Button1_Click);&&&&&&&&&&& this.Load += new System.EventHandler(this.Page_Load);&&&&&&& }&&&&&&& #endregion&&&&&&& private void LongTask()&&&&&&& {&&&&&&&&&&& //模拟长时间任务&&&&&&&&&&& //每个循环模拟任务进行到不同的阶段&&&&&&&&&&& for(int i=0;i11;i++)&&&&&&&&&&& {&&&&&&&&&&&&&&& System.Threading.Thread.Sleep(1000);&&&&&&&&&&&&&&& //设置每个阶段的state值,用来显示当前的进度&&&&&&&&&&&&&&& Session["State"] = i+1;&&&&&&&&&&& }&&&&&&&&&&& //任务结束&&&&&&&&&&& Session["State"] = 100;&&&&&&& }&&&&&&& public static void OpenProgressBar(System.Web.UI.Page Page)&&&&&&& {&&&&&&&&&&& StringBuilder sbScript = new StringBuilder();&&&&&&&&&&& sbScript.Append("script language='' type='text/javascript'n");&&&&&&&&&&& sbScript.Append("!--n");&&&&&&&&&&& //需要IE5.5以上支持&&&&&&&&&&& sbScript.Append("window.showModalDialog('Progress.aspx','','dialogHeight: 100 dialogWidth: 350 edge: R center: Y help: No; resizable: No; status: No;scroll:No;');n");&&&&&&&&&&& //IE5.5以下使用window.open&&&&&&&&&&& //sbScript.Append("window.open('Progress.aspx','', 'height=100, width=350, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');n");&&&&&&&&&&& sbScript.Append("// --n");&&&&&&&&&&& sbScript.Append("/scriptn");&&&&&&&&&&& Page.RegisterClientScriptBlock("OpenProgressBar", sbScript.ToString());&&&&&&& }&&&&&&& private void Button1_Click(object sender, System.EventArgs e)&&&&&&& {&&&&&&&&&&& System.Threading.Thread thread=new System.Threading.Thread(new System.Threading.ThreadStart(LongTask));&&&&&&&&&&& thread.Start();&&&&&&&&&&& Session["State"]=1;&&&&&&&&&&& OpenProgressBar(this.Page);&&&&&&& }&&& }}新建一个进度条页面Progress.aspx客户端:在head中加入base target="_self"body MS_POSITIONING="GridLayout"&&&&&&& form id="Form1" method="post" runat="server"&&&&&&&&&&& asp:Label id="lblMessages" runat="server"/asp:Label&&&&&&&&&&& asp:Panel id="panelBarSide" runat="server" Width="300px" BorderStyle="Solid" BorderWidth="1px"&&&&&&&&&&&&&&& ForeColor="Silver"&&&&&&&&&&&&&&& asp:Panel id="panelProgress" runat="server" Width="10px" BackColor="Green"/asp:Panel&&&&&&&&&&& /asp:Panel&&&&&&&&&&& asp:Label id="lblPercent" runat="server" ForeColor="Blue"/asp:Label&&&&&&& /form/body服务器端:using Susing System.CponentMusing System.Dusing System.Dusing System.Wusing System.Web.SessionSusing System.Web.UI;using System.Web.UI.WebCusing System.Web.UI.HtmlCnamespace WebProgressBar{&&& /**//// summary&&& /// Summary description for Progress.&&& /// /summary&&& public class Progress : System.Web.UI.Page&&& {&&&&&&& protected System.Web.UI.WebControls.Label lblM&&&&&&& protected System.Web.UI.WebControls.Panel panelP&&&&&&& protected System.Web.UI.WebControls.Panel panelBarS&&&&&&& protected System.Web.UI.WebControls.Label lblP&&&&&&& private int state = 0;&&&&&&& private void Page_Load(object sender, System.EventArgs e)&&&&&&& {&&&&&&&&&&& // Put user code to initialize the page here&&&&&&&&&&& if(Session["State"]!=null)&&&&&&&&&&& {&&&&&&&&&&&&&&& state = Convert.ToInt32(Session["State"].ToString());&&&&&&&&&&& }&&&&&&&&&&& else&&&&&&&&&&& {&&&&&&&&&&&&&&& Session["State"]=0;&&&&&&&&&&& }&&&&&&&&&&& if(state0&&state=10)&&&&&&&&&&& {&&&&&&&&&&&&&&& this.lblMessages.Text = "Task undertaking!";&&&&&&&&&&&&&&& this.panelProgress.Width = state*30;&&&&&&&&&&&&&&& this.lblPercent.Text = state*10 + "%";&&&&&&&&&&&&&&& Page.RegisterStartupScript("","scriptwindow.setTimeout('window.Form1.submit()',100);/script");&&&&&&&&&&& }&&&&&&&&&&& if(state==100)&&&&&&&&&&& {&&&&&&&&&&&&&&& this.panelProgress.Visible =&&&&&&&&&&&&&&& this.panelBarSide.Visible =&&&&&&&&&&&&&&& this.lblMessages.Text = "Task Completed!";&&&&&&&&&&&&&&& Page.RegisterStartupScript("","scriptwindow.close();/script");&&&&&&&&&&& }&&&&&&& }&&&&&&& Web Form Designer generated code#region Web Form Designer generated code&&&&&&& override protected void OnInit(EventArgs e)&&&&&&& {&&&&&&&&&&& //&&&&&&&&&&& // CODEGEN: This call is required by the ASP.NET Web Form Designer.&&&&&&&&&&& //&&&&&&&&&&& InitializeComponent();&&&&&&&&&&& base.OnInit(e);&&&&&&& }&&&&&&& /**//// summary&&&&&&& /// Required method for Designer support - do not modify&&&&&&& /// the contents of this method with the code editor.&&&&&&& /// /summary&&&&&&& private void InitializeComponent()&&&&&&& {&&& &&&&&&&&&&& this.Load += new System.EventHandler(this.Page_Load);&&&&&&& }&&&&&&& #endregion&&& }}& 搜索“图”或者“tulaoshi_com”加关注,每天最新的美食、、、美妆、、手工DIY等教程让你一手全掌握。推荐关注!【扫描下图可直接关注】
来源:/n/0603.html
点击查看更多与《》相关的文章>>
Flash AS 2.0实例教程:加载进度条之点点进度,本例讲解运用Flash AS 2.0代码实现加载进度条效果,本教程讲解的是进度条中点点进度的制作方法,对于比较大的文件很有用,希望能给朋友们带来帮助~~
XP实用技巧45条,XP实用技巧45条
下面这个为你精选三条超级实用的Win7小技巧教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!
进度条 - 步骤教程,进度条 - 步骤教程
在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享Flash新手教程:详细讲解制作进度条动画,希望可以对大家能有小小的帮助。
有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享ASP.NET+Web服务实现软件共享吧。
热门搜索:
黄绿色效果的沙滩美女 PS调色教程
word安全模式怎么解除 图文详解教程
电脑时间总是不对怎么办
删除IE地址栏历史记录方法
对于爱看书的朋友来说,家里应该会有很多的书签,书签的作用就是可以在不损坏书页的情况下对页码进行分界标记,那么,你会自己手绘书签吗?下面给大家带来看DIY手绘小男孩书签步骤,一起来看看吧。
现在我们很多人都非常喜欢在家里养一些可爱的狗狗作为宠物,宠物不仅可爱,而且还能带给自己很多的陪伴。既然我们选择了饲养狗狗,那么就一定要负责的好好照料,宝宝生病的时候也要好好医治。那么吉娃娃最容易患哪些皮肤病?
现在我们很多人都非常喜欢在家里养一些可爱的狗狗作为宠物,宠物不仅可爱,而且还能带给自己很多的陪伴。但是在喂养狗狗的时候一定要注意不同狗狗的生活习惯。那么怎么喂养比格犬?
现在我们很多人都非常喜欢在家里养一些可爱的狗狗作为宠物,宠物不仅可爱,而且还能带给自己很多的陪伴。八哥犬是一种非常可爱的狗狗,所以也会很多人选择饲养八哥犬。那么成年八哥犬怎么喂养?
怎么利用Photoshop给电商模特照片精修磨皮?很多朋友在工作中经常会遇到要求精修模特的情况,特别是做化妆品行业的电商设计师,所以总结了一下我的模特修图方法和技巧与大家分享,喜欢的朋友让我们一起来学习吧。
磨皮是我们ps照片最基本的技能,Photoshop人物磨皮是我们必须掌握的,如今不少国人对Photoshop修图的三大酷炫神技双曲线、中性灰与高低频几近痴迷,抓耳挠腮想学会它,下面一起看看教程吧。
掌握一点Photoshop教程对你是非常有用的,这篇教程是给大家分享PS简单快速创建眼睛彩虹美瞳效果方法,教程最终创建出来的效果非常漂亮,而且难度并不是很大,很值得大家学习,一起来学习吧。
2017年最受欢迎的生活服务APP!!生活服务类App的出现为日常生活带来极大便利,我们可以通过手机客户端预约各种家政服务,足不出户就能够享受实惠、便捷的生活服务,那么接下来我为大家推荐一些生活中必备生活app。
由于现在抢红包大热起来,很多app都开始支持发红包抢红包了,因此也出现了微信抢红包神器,可以自动抢微信红包,肯定比认为手动操作快,有消息就会自动打开,然后打开红包。今天就给大家分享2017微信自动抢红包神器大全。
2017手机赚钱软件排行榜!!很多朋友都在苦恼每天的钱不够话,空闲时间不知道怎么打发,总想寻找一种简单的赚钱方式,我们的手机app就有很多,下面具体给大家介绍手机赚钱软件有哪些,总有一款你中意的。
经常玩微信的朋友都知道,微信小程序已经全面上线了,对于小程序的出现是否会引发App变革众说纷纭,但不可否认的是小程序能够带给用户及产商一定的便利,那么今天为大家汇总目前上线的一些实用小程序。
男女交往一直都是人们比较关注的一个问题,都说相爱容易,相处不易,交往过的朋友应该都能深刻的体会到,女生常常抱怨着让男生理解自己,但男生也希望多体谅一下他们。尤其不要老是问一些无法回答的问题来考验他们。
很多朋友都信风水一说,对于自己家里房屋客厅的装修也是有一定要求的,因为客厅的风水关系着整个家居的运势,更关系着主人的财运与健康,因而客厅里的风水禁忌是需要我们谨慎注意的,那么风水学中客厅风水禁忌有哪些呢?
春天已经来临了,夏天也不远了,新的一才刚刚开始,时尚爱美的美眉们最关注的就是春夏服装设计的流行趋势了,早早的把握住时尚趋势走在流行的最尖端,今天就给大家整理分享2017春夏女装设计流行趋势 ,你绝对不能错过的亮点。WebService部分:/// &summary&&&& /// 保存文件到远程服务器&&& /// &/summary&&&& /// &param name="FileByteArray"&待转换字节数组&/param&&&& /// &param name="FileLength"&字节长度&/param&&&& /// &param name="SaveToUrl"&保存路径&/param&&&& /// &returns&返回是否执行成功&/returns&&&& [WebMethod(Description = "保存文件到远程服务器.")]&&& public bool SaveFile(byte[] FileByteArray,int FileLength, string SaveToUrl)&&& {&&&&&&& try&&&&&&& {&&&&&&&&&&& FileStream fs = new FileStream(SaveToUrl, FileMode.OpenOrCreate, FileAccess.Write);&&&&&&&&&&& fs.Write(FileByteArray, 0, FileLength);&&&&&&&&&&& fs.Close();&&&&&&& }&&&&&&& catch {&&&&&&&&&&&&&&&&&& }&&&&&&&&&& }&&&
调用部分:protected void Button1_Click(object sender, EventArgs e)&&& {&&&&&&& MangerPhoto.Service mp = new MangerPhoto.Service();&&&&&&& Response.Write(mp.SaveFile(getByte(), FileUpload1.PostedFile.ContentLength, "C://vv.jpg"));&&& }
&&& private byte[] getByte() {//获得转化后的字节数组&&&&&&& //得到用户要上传的文件名&&&&&&& string strFilePathName = FileUpload1.PostedFile.FileN&&&&&&& string strFileName = Path.GetFileName(strFilePathName);&&&&&&& int FileLength = FileUpload1.PostedFile.ContentL&&&&&&& //上传文件&&&&&&& Byte[] FileByteArray = new Byte[FileLength]; //图象文件临时储存Byte数组&&&&&&& Stream StreamObject = FileUpload1.PostedFile.InputS //建立数据流对像&&&&&&& //读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度&&&&&&& StreamObject.Read(FileByteArray, 0, FileLength);&&&&&&& return FileByteA&&& }---------------------通过Web Services上传和下载文件随着Internet技术的发展和跨平台需求的日益增加,Web Services的应用越来越广,我们不但需要通过Web Services传递字符串信息,而且需要传递二进制文件信息。下面,我们就分别介绍如何通过Web Services从服务器下载文件到客户端和从客户端通过Web Services上载文件到服务器。
一:通过Web Services显示和下载文件
我们这里建立的Web Services的名称为GetBinaryFile,提供两个公共方法:分别是GetImage()和GetImageType(),前者返回二进制文件字节数组,后者返回文件类型,其中,GetImage()方法有一个参数,用来在客户端选择要显示或下载的文件名字。这里我们所显示和下载的文件可以不在虚拟目录下,采用这个方法的好处是:可以根据权限对文件进行显示和下载控制,从下面的方法我们可以看出,实际的文件位置并没有在虚拟目录下,因此可以更好地对文件进行权限控制,这在对安全性有比较高的情况下特别有用。这个功能在以前的ASP程序中可以用Stream对象实现。为了方便读者进行测试,这里列出了全部的源代码,并在源代码里进行介绍和注释。
首先,建立GetBinaryFile.asmx文件:
我们可以在VS.NET里新建一个C#的aspxWebCS工程,然后&添加新项&,选择&Web服务&,并设定文件名为:GetBinaryFile.asmx,在&查看代码&中输入以下代码,即:GetBinaryFile.asmx.cs:
&using S&using System.C&ponentM&using System.D&using System.D&using System.W&using System.Web.UI;&using System.Web.S&using System.IO;
&namespace xml.sz.luohuedu.net.aspxWebCS&{&&/// &summary&&&/// GetBinaryFile 的摘要说明。&&/// Web Services名称:GetBinaryFile&&/// 功能:返回服务器上的一个文件对象的二进制字节数组。&&/// &/summary&&[WebService(Namespace="",&&Description="在Web Services里利用.NET框架进行传递二进制文件。")]&&public class GetBinaryFile : System.Web.Services.WebService&&{
&&&#region Component Designer generated code&&&//Web 服务设计器所必需的&&&private IContainer components =
&&&/// &summary&&&&/// 清理所有正在使用的资源。&&&/// &/summary&&&&protected override void Dispose( bool disposing )&&&{&&&&if(disposing && components != null)&&&&{&&&&&components.Dispose();&&&&}&&&&base.Dispose(disposing);&&&}
&&&#endregion
&&& public class Images: System.Web.Services.WebService&& {&&& /// &summary&&&& /// Web 服务提供的方法,返回给定文件的字节数组。&&& /// &/summary&&&& [WebMethod(Description="Web 服务提供的方法,返回给定文件的字节数组")]&&& public byte[] GetImage(string requestFileName)&&& {&&&& ///得到服务器端的一个图片&&&& ///如果你自己测试,注意修改下面的实际物理路径&&&& if(requestFileName == null || requestFileName == "")&&&&& return getBinaryFile("D://Picture.JPG");&&&& else&&&&& return getBinaryFile("D://" + requestFileName);&&& }
&&& /// &summary&&&& /// getBinaryFile:返回所给文件路径的字节数组。&&& /// &/summary&&&& /// &param name="filename"&&/param&&&& /// &returns&&/returns&&&& public byte[] getBinaryFile(string filename)&&& {&&&& if(File.Exists(filename))&&&& {&&&&& try&&&&& {&&&&&& ///打开现有文件以进行读取。&&&&&& FileStream s = File.OpenRead(filename);&&&&&& return ConvertStreamToByteBuffer(s);&&&&& }&&&&& catch(Exception e)&&&&& {&&&&&& return new byte[0];&&&&& }&&&& }&&&& else&&&& {&&&&& return new byte[0];&&&& }&&& }& /// &summary&& /// ConvertStreamToByteBuffer:把给定的文件流转换为二进制字节数组。& /// &/summary&& /// &param name="theStream"&&/param&& /// &returns&&/returns&&&& public byte[] ConvertStreamToByteBuffer(System.IO.Stream theStream)&&& {&&&& int b1;&&&& System.IO.MemoryStream tempStream = new System.IO.MemoryStream();&&&& while((b1=theStream.ReadByte())!=-1)&&&& {&&&&& tempStream.WriteByte(((byte)b1));&&&& }&&&& return tempStream.ToArray();&&& }&&&& [WebMethod(Description="Web 服务提供的方法,返回给定文件类型。")]&&&& public string GetImageType()&&&& {&&&&& ///这里只是测试,您可以根据实际的文件类型进行动态输出&&&&& return "image/jpg";&&&& }&& }&}&}一旦我们创建了上面的asmx文件,进行编译后,我们就可以编写客户端的代码来进行调用这个Web Services了。
我们先&添加Web引用&,输入:。下面,我们编写显示文件的中间文件:GetBinaryFileShow.aspx,这里,我们只需要在后代码里编写代码即可,GetBinaryFileShow.aspx.cs文件内容如下:
&using S&using System.C&ponentM&using System.D&using System.D&using System.W&using System.Web.SessionS&using System.Web.UI;&using System.Web.UI.WebC&using System.Web.UI.HtmlC&using System.Web.S
&namespace aspxWebCS&{&&/// &summary&&&/// GetBinaryFileShow 的摘要说明。&&/// &/summary&&&public class GetBinaryFileShow : System.Web.UI.Page&&{
&&&private void Page_Load(object sender, System.EventArgs e)&&&{&&&// 在此处放置用户代码以初始化页面&&&& ///定义并初始化文件对象;&&&& xml.sz.luohuedu.net.aspxWebCS.GetBinaryFile.Images oI&&&& oImage = new xml.sz.luohuedu.net.aspxWebCS.GetBinaryFile.Images();&&&& ///得到二进制文件字节数组;&&&& byte[] image = oImage.GetImage("");&&&& ///转换为支持存储区为内存的流&&&& System.IO.MemoryStream memStream = new System.IO.MemoryStream(image);&&&& ///定义并实例化Bitmap对象&&&& Bitmap bm = new Bitmap(memStream);&&&& ///根据不同的条件进行输出或者下载;&&&& Response.Clear();&&&& ///如果请求字符串指定下载,就下载该文件;&&&& ///否则,就显示在浏览器中。&&&& if(Request.QueryString["Download"]=="1")&&&& {&&&&& Response.Buffer =&&&&& Response.ContentType = "application/octet-stream";&&&&& ///这里下载输出的文件名字 ok.jpg 为例子,你实际中可以根据情况动态决定。&&&&& Response.AddHeader("Content-Disposition","filename=ok.jpg");&&&& }&&&& else&&&&& Response.ContentType = oImage.GetImageType();&&&& Response.BinaryWrite(image);&&&& Response.End();&&&}
&&&#region Web Form Designer generated code&&&override protected void OnInit(EventArgs e)&&&{&&&&//&&&&// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。&&&&//&&&&InitializeComponent();&&&&base.OnInit(e);&&&}
&&&/// &summary&&&&/// 设计器支持所需的方法 - 不要使用代码编辑器修改&&&/// 此方法的内容。&&&/// &/summary&&&&private void InitializeComponent()&&&{&&& this.Load += new System.EventHandler(this.Page_Load);
&& }&&&#endregion&&}&}最后,我们就编写最终的浏览页面:GetBinaryFile.aspx,这个文件很简单,只需要aspx文件即可,内容如下:
&&%@ Page language="c#" Codebehind="GetBinaryFile.aspx.cs" AutoEventWireup="false"&& Inherits="aspxWebCS.GetBinaryFile" %&&&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" &&&HTML&&& &HEAD&&&&& &title&通过Web Services显示和下载文件&/title&&&&& &meta name="GENERATOR" Content="Microsoft Visual Studio 7.0"&&&&& &meta name="CODE_LANGUAGE" Content="C#"&&&&& &meta name="vs_defaultClientScript" content="JavaScript"&&&&& &meta name="vs_targetSchema" content=""&&& &/HEAD&&& &body MS_POSITIONING="GridLayout"&&&&& &form id="GetBinaryFile" method="post" runat="server"&&&&&&& &FONT face="宋体"&&&&&&&&& &asp:HyperLink id="HyperLink1" NavigateUrl="GetBinaryFileShow.aspx?Download=1"&&&&&&&&& runat="server"&下载文件&/asp:HyperLink&&&&&&&&& &br/&&&&&&&&& &!--下面是直接显示文件--&&&&&&&&& &asp:Image id="Image1" ImageUrl="GetBinaryFileShow.aspx" runat="server"&&/asp:Image&&&&&&& &/FONT&&&&& &/form&&& &/body&&&/HTML&二:通过Web Services上载文件
向服务器上载文件可能有许多种方法,在利用Web Services上载文件的方法中,下面的这个方法应该是最简单的了。我们仍象前面的例子那样,首先建立Upload.asmx文件,其Upload.asmx.cs内容如下,里面已经做了注释:
&using S&using System.C&ponentM&using System.D&using System.D&using System.W&using System.Web.S&using System.IO;
&namespace xml.sz.luohuedu.net.aspxWebCS&{&&/// &summary&&&/// Upload 的摘要说明。&&/// &/summary&& [WebService(Namespace="",& &Description="在Web Services里利用.NET框架进上载文件。")]&&public class Upload : System.Web.Services.WebService&&{&&&public Upload()&&&{&&&&//CODEGEN:该调用是 ASP.NET Web 服务设计器所必需的&&&&InitializeComponent();&&&}
&&&#region Component Designer generated code
&&&//Web 服务设计器所必需的&&&private IContainer components =
&&&/// &summary&&&&/// 设计器支持所需的方法 - 不要使用代码编辑器修改&&&/// 此方法的内容。&&&/// &/summary&&&&private void InitializeComponent()&&&{&&&}
&&&/// &summary&&&&/// 清理所有正在使用的资源。&&&/// &/summary&&&&protected override void Dispose( bool disposing )&&&{&&&&if(disposing && components != null)&&&&{&&&&&components.Dispose();&&&&}&&&&base.Dispose(disposing);&&&}
&&&#endregion
&& [WebMethod(Description="Web 服务提供的方法,返回是否文件上载成功与否。")]&& public string UploadFile(byte[] fs,string FileName)&& {&&& try&&& {&&&& ///定义并实例化一个内存流,以存放提交上来的字节数组。&&&& MemoryStream m = new MemoryStream(fs);&&&& ///定义实际文件对象,保存上载的文件。&&&& FileStream f = new FileStream(Server.MapPath(".") + "//"&&&&& + FileName, FileMode.Create);&&&& ///把内内存里的数据写入物理文件&&&& m.WriteTo(f);&&&& m.Close();&&&& f.Close();&&&& f =&&&& m =&&&& return "文件已经上传成功。";&&& }&&& catch(Exception ex)&&& {&&&& return ex.M&&& }&& }&}&}要上载文件,必须提供一个表单,来供用户进行文件的选择,下面我们就建立这样一个页面Upload.aspx,用来提供文件上载:
&%@ Page language="c#" Codebehind="Upload.aspx.cs" AutoEventWireup="false"&& Inherits="aspxWebCS.Upload" %&&&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&&&HTML&&& &HEAD&&&&& &title&通过Web Services上载文件&/title&&&&& &meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0"&&&&& &meta name="CODE_LANGUAGE" content="Visual Basic 7.0"&&&&& &meta name="vs_defaultClientScript" content="JavaScript"&&&&& &meta name="vs_targetSchema" content=""&&& &/HEAD&&& &body MS_POSITIONING="GridLayout"&&&&& &form id="Form1" method="post" runat="server"& enctype="multipart/form-data"&&&&&&& &INPUT id="MyFile" type="file" runat="server"&&&&&&& &br&&&&&&& &br&&&&&&& &asp:Button id="Button1" runat="server" Text="上载文件"&&/asp:Button&&&&& &/form&&& &/body&&&/HTML&我们要进行处理的是在后代码里面,下面详细的介绍,Upload.aspx.cs:
&using S&using System.C&ponentM&using System.D&using System.D&using System.W&using System.Web.SessionS&using System.Web.UI;&using System.Web.UI.WebC&using System.Web.UI.HtmlC&using System.Web.S&using System.IO;
&namespace aspxWebCS&{&&/// &summary&&&/// Upload 的摘要说明。&&/// 利用该方法通过Web Services上载文件&&/// &/summary&&&public class Upload : System.Web.UI.Page&&{&& protected System.Web.UI.HtmlControls.HtmlInputFile MyF&& protected System.Web.UI.WebControls.Button Button1;
&&&private void Page_Load(object sender, System.EventArgs e)&&&{&&&&// 在此处放置用户代码以初始化页面&&&}
&&&#region Web Form Designer generated code&&&override protected void OnInit(EventArgs e)&&&{&&&&//&&&&// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。&&&&//&&&&InitializeComponent();&&&&base.OnInit(e);&&&}
&&&/// &summary&&&&/// 设计器支持所需的方法 - 不要使用代码编辑器修改&&&/// 此方法的内容。&&&/// &/summary&&&&private void InitializeComponent()&&&{&&& this.Button1.Click += new System.EventHandler(this.Button1_Click);&&& this.Load += new System.EventHandler(this.Page_Load);
&& }&&&#endregion
&& private void Button1_Click(object sender, System.EventArgs e)&& {&&& ///首先得到上载文件信息和文件流&&& if(MyFile.PostedFile != null)&&& {&&&& System.Web.HttpFileCollection oF&&&& oFiles = System.Web.HttpContext.Current.Request.F&&&& if(oFiles.Count & 1)&&&& {&&&&& Response.Write ("请选择文件。");&&&&& Response.End();&&&& }
&&&& string FilePath = oFiles[0].FileN&&&& if(FilePath == "" || FilePath == null)&&&& {&&&&& Response.Write ("请选择一个文件。");&&&&& Response.End();&&&& }&&&& string FileName = FilePath.Substring(FilePath.LastIndexOf(");&&&& try&&&& {&&&&& ///处理上载的文件流信息。&&&&& byte[] b = new byte[oFiles[0].ContentLength];&&&&& System.IO.S&&&&& xml.sz.luohuedu.net.aspxWebCS.U&&&&& o = new xml.sz.luohuedu.net.aspxWebCS.Upload();&&&&& fs = (System.IO.Stream)oFiles[0].InputS&&&&& fs.Read(b, 0, oFiles[0].ContentLength);&&&&& ///调用Web Services的UploadFile方法进行上载文件。&&&&& Response.Write(o.UploadFile(b, FileName));&&&&& fs.Close();&&&& }&&&& catch(Exception ex)&&&& {&&&&& Response.Write(ex.Message);&&&& }&&& }&&& else&&& {&&Response.Write("请选择文件");&}&& }& }&}最后,需要注意的是:在保存文件时,您应该确保指定文件的完整路径(例如,"C:/MyFiles/Picture.jpg"),并确保为 ASP.NET 使用的帐户提供要存储文件的目录的写权限。上载大文件时,可使用 元素的 maxRequestLength 属性来增加文件大小的最大允许值,例如:
&&configuration&&&& &system.web&&&& &&httpRuntime maxRequestLength="1048576" executionTimeout="3600" /&&&& &/system.web&&&/configuration&其中:maxRequestLength:指示 ASP.NET 支持的HTTP方式上载的最大字节数。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。executionTimeout:指示在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。在当文件超出指定的大小时,如果浏览器中会产生 DNS 错误或者出现服务不可得到的情况,也请修改以上的配置,把配置数加大。
另外,上载大文件时,还可能会收到以下错误信息:
&aspnet_wp.exe (PID: 1520) 被回收,因为内存消耗超过了 460 MB(可用 RAM 的百分之 60)。如果遇到此错误信息,请增加应用程序的 Web.config 文件的 元素中 memoryLimit 属性的值。例如:
&&configuration&&&& &system.web&&&&&&& &processModel memoryLimit="80"/&&&& &/system.web&&&/configuration&
本文已收录于以下专栏:
相关文章推荐
最近boss要求做Android客户端的图片上传和下载,就是调用服务器的webservice接口,实现从Android上传图片到服务器,然后从服务器下载图片到Android客户端。
需求下来了,开始...
通常,我们调用webservice,就是服务器和客户端(浏览器,Android手机端等)之间的通信,其通信一般是传 xml或json格式的字符串。对,就只能是字符串。
我的思路是这样的,从An...
人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..
最近boss要求做android客户端的图片上传和下载,就是调用服务器的webservice接口,实现从android上传图片到服务器,然后从服务器下载图片到android客户端。
最近boss要求做android客户端的图片上传和下载,就是调用服务器的webservice接口,实现从android上传图片到服务器,然后从服务器下载图片到android客户端。
需求下来了...
iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下使用asp.net webservice实现文件上传下载。
首先,让我们看下文件下载。
这里我们下载cnblogs上的一个zip...
iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下如何结合asp.net webservice实现文件上传下载。
首先,让我们看下文件下载。
这里我们下载cnblogs上的一个zip文件。使...
本文直接采用CXF+spring完成的一个支持上传文件的demo,包括视频、音频等,示例简单仅供参考。下面直接上代码:
一、首先进行服务端搭建(CXF+Spring):
1、新建web工程(示例为...
作者:朱祁林
出处: 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责...
他的最新文章
讲师: 许鹏
讲师:董付国
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 web designer 的文章

 

随机推荐