winform 打开服务器文档,在WinForm中通过HTTP协议向服务器端上传文件.pdf

在 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 usin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值