0

基本的に、webBrowser コントロールに読み込まれた画像を保存したくありません。現時点でこれを機能させる唯一の方法は、[名前を付けて保存] ダイアログを表示することです。

パスを渡してそれ自体を保存する方法はありますか? (表示するダイアログを非表示にします!)

画像を保存する別の方法はありますか?documentstream を動作させることができないようです。私も試してみwebclient.filedownload(...)ましたが、エラー 302 (「(302) Found Redirect.」) が表示されます。

DownloadFileAsyncエラーは発生しませんが、空の jpeg ファイルが表示されますか?

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

4

1 に答える 1

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);
    }            
}
于 2012-04-12T19:18:21.143 に答える