2014-11-06 59 views
1

我需要C#WebClient UploadString方法的一些幫助。我試圖上傳一個長字符串(我從數據庫中讀取)到服務器(PHP),而我目前正在嘗試使用UploadString方法來做到這一點,因爲它似乎是最簡單的。我遇到的問題是,我上傳的字符串在大約4000個字符後被截斷,我找不到原因。 例如: data.length:19000(前上傳) Post.length:4000(在PHP)c#webClient上傳字符串中斷

我做了什麼來繞過這個問題:我上傳我的字符串少於4000個字符塊。但我仍然遇到問題!每秒上傳都會被切斷,我無法弄清楚原因。 這是我的C#代碼:

WebClient client = new WebClient(); 
     foreach (DataRow dr in dra) 
     { 
      foreach (int y in index) 
      { 
       data += dr[y] + ";"; 
       Console.Write("."); 
      } 
      data += ":"; 

      if (count1 > 50) 
      { 
       // Upload the data. 
       Console.WriteLine("Uploading Data....."); 
       Console.WriteLine("Länge des Strings:" + data.Length); 
       Console.WriteLine(data); 
       client.Dispose(); 
       client.Encoding = System.Text.Encoding.UTF8; 
       client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; 
       string Ergebnis = client.UploadString(address, "POST", data); 
       Console.WriteLine(Ergebnis); 
       client.Dispose(); 
       result.ErrorMessage += Ergebnis; 
       count1 = -1; 
       data = "table="+table+"&columns=continueUpload&values="; 

      } 
      ++count1; 
     } 

有沒有人有任何想法,這從何而來? webclient方法有沒有字符串限制?

+1

檢查ini for post_max_size,upload_max_filesize等 – donald123 2014-11-06 11:26:14

+0

我已經檢查過。一切都設置爲50M和PHP緩存高達500M,所以它一定是別的。 – Johannes 2014-11-06 11:51:28

+0

你是否編碼'數據'? – 2014-11-06 12:36:08

回答

1

好的,我找到了解決方法,謝謝Alex的提示! 我不得不urlencode我所有的價值觀,比它的工作!