清泛IT社区

标题: C# HTTP上传文件(客户端及服务器端) [打印本页]

作者: zqp2013    时间: 2015-01-27 09:42
标题: C# HTTP上传文件(客户端及服务器端)
C#文件上传方案非常简约,通过System.Net.WebClient进行文件上传,服务器端从HttpRequest中获取上传的文件集合,然后逐一保存到服务器的指定位置。

先来看看服务器端如何从HttpRequest中取出文件并保存文件的:(建立一个空白的asp.net页面Upload.aspx,Page_Load事件中添加如下代码)
                foreach (string fileKey in Request.Files.AllKeys)
                {
                    HttpPostedFile file = Request.Files[fileKey];
                    file.SaveAs("d:\\test_server.txt");
                }



然后看看如何上传一个文件到服务器端:(建立一个WinForm测试上传本地文件)
               System.Net.WebClient client = new System.Net.WebClient();
               string url = "http://(服务端地址:端口)/Upload.aspx";
               // 同步上传(阻塞线程)
               client.UploadFile(url, "d:\\test_client.txt");
  -----------------或者(两者取其一)-------------------
               // 异步上传(不阻塞线程)(注意:异步上传不要立马让程序退出,不然未等到上传成功程序就已经退出导致测试时无法上传文件)
               Uri uri = new Uri(url);
               client.UploadFileAsync(uri, "d:\\test_client.txt");






欢迎光临 清泛IT社区 (https://bbs.tsingfun.com/) Powered by Discuz! X3.3