2017-12-28 71 views
0

私はC#フォームが新しく、最近友人のオンラインハードドライブからファイルをダウンロードできるプログラムを作成しようとしています。 しかし、私のプログラムは1MB未満のファイルサイズしかダウンロードすることができません。それを超えると、15バイトしかダウンロードできません。 私は私app.configをチェックしようとした、これは私がWinform HTTPファイルのダウンロードエラー

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
</startup> 
</configuration> 

を得たものであり、これは、誰かがDownloadFileAsyncができると述べダウンロード

のための私のコード
MyHttpResponse httpDownload(String url) 
    { 
     string strHtml = string.Empty; 
     MyHttpResponse myResponse = new MyHttpResponse(); 

      WebRequest myWebRequest = WebRequest.Create(url); 
      myWebRequest.Timeout = 10000; 
      HttpWebRequest myHttpWebRequest = (HttpWebRequest)myWebRequest; 
      myHttpWebRequest.Timeout = 10000; 
      myHttpWebRequest.Method = "GET"; 
      myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Windows NT 5.2; Windows NT 6.0; Windows NT 6.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; MS-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 4.0C; .NET CLR 4.0E)"; 

      myHttpWebRequest.CookieContainer = this.cookieContainer; 

      WebResponse myWebResponse = myHttpWebRequest.GetResponse(); 
      Stream myStream = myWebResponse.GetResponseStream(); 
      StreamReader myStreamReader = new StreamReader(myStream, Encoding.Default); 

      int index1 = url.LastIndexOf('/'); 
      int index2 = url.LastIndexOf('?'); 
      String FileName = url.Substring(index1 + 1, index2 - index1 - 1); 

      WebClient myWebClient = new WebClient(); 
      //myWebClient.DownloadDataCompleted += new AsyncCompletedEventHandler(DownloadProgressCallback); 
      //trying to have this function but not sure how to code it right... 
      string filepath = textBox3.Text; 
      myWebClient.DownloadFileAsync(new Uri(url), filepath + "/" + FileName); 
     } 

で、maxRecievedMessageSize問題であると思われるいくつかの研究をしました"問題が私のコードまたは私のセットアップであるようにファイルをダウンロードすることができました" もっと情報を提供するために他に何か提供できるのですか?

私はc# - maxReceivedMessageSize and maxBufferSize in app.configを見ましたが、実際には何を言っているのか分かりません。

ところで、それはWCFについてだとはっきりしない。

+0

あなたが表示するコードの最後の3行だけを使用すれば、私は[ここ](https://archive.org/download/stackexchange)から任意のサイズのファイルをダウンロードできます。あなたも同様に参照してください。 – rene

+0

ご質問ありがとうございます*私たちは必要ありません。私たちは、あなたがデフォルトで感謝していると仮定します。 – rene

+0

大変申し訳ございませんがコード内で何かばかげたことがありましたが、修正した後にうまくいきました。ありがとうございました – RLC

答えて

0

あなたが受け取った15kファイルの内容を見てください。それはおそらく重要な情報を含んでいます。私はそれがエラーメッセージを含むHTMLコンテンツであることを期待しています。問題はあなたの友人の側にあるかもしれません。あなたの上ではありません。

一部の(ウェブ)サービスでは、配信される最大ファイルサイズが設定されています。

+0

しかし、ブラウザを使用して任意のサイズをダウンロードできます。または私に何か問題がありますか? – RLC

+0

ブラウザでは動作しますがクライアントでは動作しないファイルがある場合は、おそらくクライアントを見るべきでしょう。それでも、あなたのダウンロードした大きなファイルが15kだけになると言うと、その内容を見てください**。メモ帳で開くか、HTMLに名前を変更してブラウザウィンドウにドラッグします。私があなたのことを言ったら、私はとても興味があります。 –

+0

ありがとう、私はちょうど内容をチェックした、何かが私のコードで間違っているように思われる – RLC

関連する問題