基本上我不想保存加载到webBrowser控件中的图像。我现在能够让它工作的唯一方法是显示另存为对话框。
有没有办法传递路径并使其自行保存? (隐藏我要求显示的对话框!)
还有另一种保存图像的方法吗?我似乎无法让文档流工作。我也尝试了webclient.filedownload(...)
,但收到错误302(“(302)Found Redirect。”)
DownloadFileAsync
没有错误,只有一个空的jpeg文件?
文件始终是jpegs,但并不总是在同一位置。
答案 0 :(得分: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);
}
}