2014-11-06 57 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我所有的价值观,比它的工作!