打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在winform实现文件上传到服务器

webform上传文件可能大家都写过很多,一个HtmlInputFile.PostedFile.SaveAs就搞定了,不过不知道大家有没有在winform做过向服务器上传文件呢?
一个很自然的想法是用Web  Services,呵呵,我也很喜欢Web  Services,但是后来我在网上查了一下资料,发现了另外一种比简单实用的方法,通过WebClient(或者HttpWebRequest)来模拟HTTP的POST动作来实现。写出来和大家探讨一下,那位大虾写个Web  Services的方法来回应讨论一下更好。
首先在服务器部署一个网站,呵呵,因为毕竟是模拟HTTP了。比如说是http://localhost:1878/UploadFileWebSite/UploadFile1.aspx。
在这个页面的pageload里面加入下面的代码,用来接收winform传过来的file,保存文件在服务器。
foreach  (string f in Request.Files.AllKeys)
         {
             HttpPostedFile  file = Request.Files[f];
             file.SaveAs(@"c:\" +  file.FileName);
          }
至于winform那边,就只是要调用一下WebClient的UploadFile方法了。
public bool  uploadFileByHttp(string webUrl,string localFileName)
         {
              // 检查文件是否存在
             if (!System.IO.File.Exists(localFileName)) 
             {
                 MessageBox.Show("{0} does not exist!",  localFileName);
                 return false;
             }
              try
             {
                 System.Net.WebClient myWebClient = new  System.Net.WebClient();
                 myWebClient.UploadFile(webUrl,  "POST", localFileName);
             }
             catch
              {               
                 return false;
              }
             return true;
         }

调用:
this.uploadFileByHttp("http://localhost:1878/UploadFileWebSite/UploadFile.aspx",  @"D:\1.txt");
这个方法的缺点是不能断点续传,速度比较慢,所以不能上传大文件。


摘自:http://www.cnblogs.com/guoxiaocong/archive/2005/09/03/229405.aspx

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C# 中WinForm 应用程序实现远程文件管理(上传、下载)的种种问题
利用WebClient类向服务器上载文件
WebClient类
使用WebClient上传文件时的错误问题解决
Kali学习笔记35:使用VBScript、PowerShell、DEBUG传输文件
一.HTTP协议:
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服