基本上我不想保存加载到 webBrowser 控件中的图像。目前我可以让它工作的唯一方法是显示另存为对话框。
有没有办法通过路径并使其自救?(隐藏我要求显示的对话框!)
还有另一种保存图像的方法吗?我似乎无法让文档流工作。我也尝试过webclient.filedownload(...)
,但收到错误 302(“(302)找到重定向。”)
DownloadFileAsync
没有错误但一个空的jpeg文件?
文件总是 jpeg,但并不总是在同一个位置。
基本上我不想保存加载到 webBrowser 控件中的图像。目前我可以让它工作的唯一方法是显示另存为对话框。
有没有办法通过路径并使其自救?(隐藏我要求显示的对话框!)
还有另一种保存图像的方法吗?我似乎无法让文档流工作。我也尝试过webclient.filedownload(...)
,但收到错误 302(“(302)找到重定向。”)
DownloadFileAsync
没有错误但一个空的jpeg文件?
文件总是 jpeg,但并不总是在同一个位置。
您应该使用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);
}
}