借助UploadHandler.ashx上传文件到Web服务器的指定文件夹下
UploadHandler.ashx代码如下:
<%@ WebHandler Language="C#" CodeBehind="UploadHandler.ashx.cs" Class="WebApp.UploadHandler" %>
上传文件代码如下:
using System; using System.IO; using System.Net; namespace TestNew { class Program { static void Main(string[] args) { var Appclient = new WebClient(); var upTargetUri = new Uri("http://IP地址/WebApp/UploadHandler.ashx?fileName=./ClientBin/Files/test.txt"); try { FileInfo MyFile = new FileInfo(@"d:\test.txt"); FileStream MyStream = MyFile.Open(FileMode.Open, FileAccess.Read, FileShare.None); Appclient.OpenWriteAsync(upTargetUri, "POST", MyStream); Appclient.OpenWriteCompleted += delegate(object sender, OpenWriteCompletedEventArgs e) { //将图片数据流发送到服务器上 Stream inputStream = e.UserState as Stream; Stream outputStream = e.Result; byte[] buffer = new byte[4096]; int bytesRead = 0; while ((bytesRead = inputStream.Read(buffer, 0, buffer.Length)) > 0) { outputStream.Write(buffer, 0, bytesRead); } outputStream.Close(); inputStream.Close(); }; } catch (Exception e) { Console.WriteLine("文件上传失败,请稍候重试:" + e.Message); } Console.ReadKey(); } } }