1、 手机端
private void btnUploadPic_Click(object sender, RoutedEventArgs e)
{
PhotoChooserTask pct = new PhotoChooserTask();
pct.ShowCamera = true;
pct.Completed += new EventHandler<PhotoResult>(pct_Completed);
pct.Show();
}
void pct_Completed(object sender, PhotoResult e)
{
if (e.TaskResult == TaskResult.OK)
{
WebClient wc = new WebClient();
wc.OpenWriteCompleted += new OpenWriteCompletedEventHandler(wc_OpenWriteCompleted);
wc.WriteStreamClosed += new WriteStreamClosedEventHandler(wc_WriteStreamClosed);
wc.OpenWriteAsync(new Uri("http://127.0.0.1:21299/MyNoteWeb/ashx/UpLoadImg.ashx"), "POST", e.ChosenPhoto);
}
}
void wc_WriteStreamClosed(object sender, WriteStreamClosedEventArgs e)
{
if (e.Error == null)
{
MessageBox.Show("上传成功");
}
else
{
MessageBox.Show("上传失败");
}
}
void wc_OpenWriteCompleted(object sender, OpenWriteCompletedEventArgs e)
{
if (e.Error == null)
{
using (Stream photoStream = (Stream)e.UserState)
{
photoStream.CopyTo(e.Result);
e.Result.Close();
}
}
}
2、(asp.net)服务端:
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/html";
upLoad(context);
context.Response.End();
}
private static void upLoad(HttpContext context)
{
using (FileStream fs = File.OpenWrite("c:/1.jpg"))
{
context.Request.InputStream.CopyTo(fs);
}
}