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[" "]獲得呢

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM