0

基本的に、Webブラウザコントロールに読み込まれたイメージを保存することはできません。私が現時点でこれを動作させることができる唯一の方法は、ダイアログとして保存を表示することです。WebBrowser.ShowSaveAsDialog()または代替メソッドを自動化

パスを渡して保存する方法はありますか? (私は表示するように頼むダイアログを隠す)

画像を保存する別の方法はありますか?私はドキュメントストリームを動作させるように見えません。 webclient.filedownload(...)も試しましたが、エラー302( "(302)Found Redirect")が表示されます。

DownloadFileAsyncエラーはありませんが空のjpegファイルですか?

ファイルは常にjpegですが、必ずしも同じ場所にあるとは限りません。

答えて

0

HttpWebRequestに行ってください。

自動的に302に従うことができます。

var myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.contoso.com"); 
//increase this number if there are more then one redirects. 
myHttpWebRequest.MaximumAutomaticRedirections = 1; 
myHttpWebRequest.AllowAutoRedirect = true; 
var myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();  

var buff = new byte[myHttpWebResponse.ContentLength]; 

// here you specify the path to the file. The path in this example is : image.jpg 
// if you want to store it in the application root use: 
// AppDomain.CurrentDomain.BaseDirectory + "\\image.jpg" 
using (var sw = new BinaryWriter(File.Open("c:\\image.jpg", FileMode.OpenOrCreate))) 
{ 
    using (var br = new BinaryReader (myHttpWebResponse.GetResponseStream())) 
    { 
     br.Read(buff, 0, (int)myHttpWebResponse.ContentLength); 
     sw.Write(buff); 
    }    
} 
+0

ええ、私はそれがうまくいくはずだと私はあなたのコードを試したが、まだ302を持っていましたか?ファイルはどこに保存されますか?(出力パスを指定するにはどうすればいいですか) –

+0

小さなバグがありました。 :) これを試して。リダイレクトされるイメージへのリンクを共有できますか? – albertjan

+0

私はデータを共有できないと言われました。まだ4行目にリダイレクトエラーが表示されます。リダイレクトをブロックできますか?私はなぜこれが起こっているのかわかりません。あなたがプロフィールの画像をウェブブラウザで見て、それがうまく表示され、画像にとどまると、どこにもリダイレクトされません。 –

関連する問題