1

C# の WebClient UploadString メソッドについて助けが必要です。私は長い文字列 (データベースから読み取ったもの) をサーバー (PHP) にアップロードしようとしていますが、現在 UploadString メソッドを使用してそれを実行しようとしています。私が抱えている問題は、アップロードした文字列が約 4000 文字で途切れてしまい、その理由がわからないことです。例: data.length: 19000 (アップロード前) Post.length: 4000 (PHP)

この問題を回避するために私がしたこと: 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 メソッドに文字列制限はありますか?

4

1 に答える 1

1

わかりました、解決策を見つけました。ヒントをくれたアレックスに感謝します! 機能するよりも、すべての値を urlencode する必要がありました!

于 2014-11-10T14:56:27.090 に答える