winform采用POST上传指定文件,并获取返回值

ublic partial class transform : System.Web.UI.Page
 2 {
 3     string path = "E:\\test\\uploadfi";
 4     protected void Page_Load(object sender, EventArgs e)
 5     {
 6       
 7         if (!string.IsNullOrEmpty(Request["fileName"]))
 8         {
 9            Response.Write(UploadFileWithString(Request["fileName"], Request.InputStream));
10             //Response输出返回值
11             
12         }
13     }
14 
15 
16     protected string UploadFileWithString(string fileName,Stream streams)
17     {
18         
19          byte[] b = new byte[Convert.ToInt32( streams.Length)];
20          streams.Read(b, 0, Convert.ToInt32(streams.Length));
21         
22         string creatpath = path + "\\sh";
23         MemoryStream ms = new MemoryStream(b);          
24          if (!Directory.Exists(creatpath))
25             Directory.CreateDirectory(creatpath);
26         try
27         {
28             FileStream fs = new FileStream(creatpath + "\\" + fileName, FileMode.Create);
29             ms.WriteTo(fs);
30             ms.Close();
31             fs.Close();
32             return "1";
33         }
34         catch
35         {
36             return "0";
37         }
38     }

 

 


 1
  private void button2_Click(object sender, EventArgs e)
 2         {
 3             
 4             if (openFileDialog1.ShowDialog() == DialogResult.OK)
 5                 label2.Text = openFileDialog1.FileName;
 6             FileInfo f = new FileInfo(openFileDialog1.FileName);
 7             WebUpload(openFileDialog1.SafeFileName, f);
 8          
 9         }
10  protected void WebUpload(string fileName, FileInfo f)
11         {
12             WebClient webc = new WebClient();
13             FileStream fs = new FileStream(f.FullName, FileMode.Open, FileAccess.Read);
14             byte[] byteString=new byte[f.Length];
15             fs.Read(byteString, 0,Convert.ToInt32(f.Length));
16             fs.Close();
17             
18             byte[] returnVal = webc.UploadData("http://localhost/sz/transform.aspx?fileName="+HttpUtility.UrlEncode(fileName,Encoding.GetEncoding("gb2312")), "post",byteString);
19             
20             MessageBox.Show(Encoding.GetEncoding("gb2312").GetString(returnVal));//返回值
21             
22         }

posted @ 2012-08-23 13:42  zhangxiaobai  阅读(116)  评论(0)    收藏  举报