在WinForm中通过HTTP协议向服务器端上传文件.docVIP

  • 5
  • 0
  • 约1.25万字
  • 约 14页
  • 2018-05-24 发布于河南
  • 举报

在WinForm中通过HTTP协议向服务器端上传文件.doc

在WinForm中通过HTTP协议向服务器端上传文件

在WinForm中通过HTTP协议向服务器端上传文件 相信用ASP.NET写一个上传文件的网页大家都会写但是有没有人想过通过在WinForm中通过HTTP协议上传文件呢 有些人说要向服务器端上传文件用FTP协议不是很简单吗效率又高为什么还要使用HTTP协议那么麻烦呢这里面有几个原因 1FTP服务器的部署相对麻烦还要设置权限权限设置不对还会惹来一系列的安全问题。 2如果双方都还有防火墙又不想开发FTP相关的一些端口时HTTP就会大派用场就像WEB Services能穿透防火墙一样。 3其他的...还在想呢... 但是使用HTTP也有他的一些问题例如不能断点续传大文件上传很难速度很慢所以HTTP协议上传的文件大小不应该太大。 说了这么多原归正传一般来说在Winform里通过HTTP上传文件有几种可选的方法 1前面提到的Web Services就是一种很好的方法通过编写一个WebMethod包含有 byte 类型的参数然后调用Web Services的方法文件内容就会以Base64编码传到服务器上然后重新保存即可。 WebMethod public void UploadFilebyte contentstring filename... Stream sw new StreamWriter... sw.Close 当然这种通过Base64编码的方法效率比较低那么可以采用WSE支持附件并以2进制形式传送效率会更高。 2除了通过WebService另外一种更简单的方法就是通过WebClient或者HttpWebRequest来模拟HTTP的POST动作来实现。这时候首先需要编写一个 web form来响应上传代码如下 ltDOCTYPE HTML PUBLIC quot-//W3C//DTD HTML 4.0 Transitional//ENquot gt lthtmlgt ltheadgt lttitlegtWebForm1lt/titlegt ltmeta namequotGENERATORquot ContentquotMicrosoft Visual Studio .NET 7.1quotgt ltmeta namequotCODE_LANGUAGEquot ContentquotCquotgt ltmeta namequotvs_defaultClientScriptquot contentquotJavaScriptquotgt ltmeta namequotvs_targetSchemaquot contentquot/intellisense/ie5quotgt lt/headgt ltbodygt ltform idquotForm1quot methodquotpostquot runatquotserverquotgt lt/formgt lt/bodygt lt/htmlgt 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 namespace UploadFileWeb ... ///// ltsummarygt /// WebForm1 的摘要说明。 /// lt/summarygt public class WebForm1 : System.Web.UI.Page ... private void Page_Loadobject sender System.EventArgs e ... // 在此处放置用户代码以初始化页面 foreach string f in Request.Files.AllKeys ... HttpPostedFile file Request.Filesf file.SaveAsquotD:Tempquot file.FileName if Request.ParamsquottestKeyquot null ... Response.WriteRequest.ParamsquottestKeyquot Web 窗体设计器生成的代码region Web 窗体设计器生成的代码 override protected void OnInitEventArgs e ... // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // In

文档评论(0)

1亿VIP精品文档

相关文档