C#winform上传文件到服务器

【参考网址】http://www.cnblogs.com/lmjob/archive/2008/10/14/1310617.html

【方法】

1.首先创建一个windows应用程序,然后为了本地测试创建一个WEB应用程序。

在windows窗体上拖一个Button,点击事件代码:

 1  private void button2_Click(object sender, EventArgs e)
 2         {
 3             WebClient myWebClient = new WebClient();
 4             FolderBrowserDialog fbDialog = new FolderBrowserDialog();
 5             if (fbDialog.ShowDialog() == DialogResult.OK)
 6             {
 7                 string directoryPath = fbDialog.SelectedPath;
 8                 string[] fn = Directory.GetFiles(directoryPath);//E:\李四\区划所\样方数据\玉米\ym2011yj\photo\ym370082011
 9                 foreach (string s in fn)//E:\李四\区划所\样方数据\玉米\ym2011yj\photo\ym370082011\ym370082011EEF.JPG
10                 {
11                     myWebClient.UploadFile("http://localhost:2610/WebSite/Default.aspx", "POST", s);
12                 }
13                 //myWebClient.QueryString["testkey"] = "cdhcdhcdh";
14                 MessageBox.Show("已上传");
15             }
16         }

也可以采用另外一种:

 1 public bool uploadFileByHttp(string webUrl,string localFileName)  
 2         {  
 3             // 检查文件是否存在  
 4             if (!System.IO.File.Exists(localFileName))   
 5             {  
 6                 MessageBox.Show("{0} does not exist!", localFileName);  
 7                 return false;  
 8             }  
 9             try  
10             {  
11                 System.Net.WebClient myWebClient = new System.Net.WebClient();  
12                 myWebClient.UploadFile(webUrl, "POST", localFileName);  
13             }  
14             catch  
15             {                 
16                 return false;  
17             }  
18             return true;  
19         }  
20   
21 //调用方法属于远程服务器的地址,和保存文件的地址  
22 this.uploadFileByHttp(" http://localhost:1878/UploadFileWebSite/UploadFile.aspx", @"D:/1.txt");  

后台测试代码:

 protected void Page_Load(object sender, EventArgs e)
    {
        foreach (string f in Request.Files.AllKeys)
        {
            HttpPostedFile file = Request.Files[f];
            file.SaveAs(@"C:/" + file.FileName);
        }
   }

前启动WEB查看服务器地址,并据此正确填写窗体程序的UploadFile()方法的地址参数。然后启动窗体应用程序点击选取文件夹,其可将文件夹内的文件上传到服务器,然后根据程序保存到本地C盘根目录下。

【可以完善可待思索的问题】

1.TCP与Http上传,各有何优劣该如何选择,同时TCP上传下载也不大理解,编写的类似程序较少。

2.如何Winform程序传递参数给WEB页面,WEB通过Request.Parameters[" "]获得呢

 

posted @ 2014-01-04 16:50  大漠孤烟~  阅读(11102)  评论(0编辑  收藏  举报