清泛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