下载图片不起作用

时间:2012-09-20 08:57:25

标签: c# visual-studio-2010 downloading

我正在使用C#下载方法下载图像,图像被下载,但它没有使用它的空或我们说腐败的图像无法打开。

问题是图片有不寻常的链接:

http://www.example.com/image1.php

而不是像其他人一样:

http://www.example.com/img1.jpg

那么如何下载这样的图像,如果我使用浏览器转到图像并单击“保存”作为其下载正常。

代码:

 System.Net.WebClient client = new System.Net.WebClient();
 picname = "testingimage";
 client.DownloadFile(imagepath, filepath + picname + ".jpg");

让我知道是否有其他方法可以做到这一点。

图片网址:

<img src="http://www.abx.com/img1.php" alt="http://www.abx.com/img1.php" class="decoded">

2 个答案:

答案 0 :(得分:0)

听起来PHP脚本正在检查预期返回类型的请求标头,即默认为HTML,但如果请求要求图像,则它将仅返回图像。虽然我之前没有使用client.DownloadFile,所以不确定如何设置标头。但值得研究一下。

答案 1 :(得分:0)

我解决了这个问题,但是使用了一条很长的线路来创建另一个线路,使用WEBBROWSER控件登录GOTO页面并保存图像:

保存图片的代码:

 IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.DomDocument;
                    IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange();
 string imagename = string.Empty;
 try
 {
 foreach (IHTMLImgElement img in doc.images)
   {
     imgRange.add((IHTMLControlElement)img);
     imgRange.execCommand("Copy", false, null);
     using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap))
        {
            bmp.Save(@"c:\testImage\TestPic.jpg");
        }
     imagename = img.nameProp;
     break;

   }
 }
 catch (System.Exception aaa)
 {

 }