0

我正在使用 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">
4

2 回答 2

0

我解决了它,但使用长路线创建另一个线程登录到该页面并使用WEBBROWSER控制保存图像:

保存图像的代码:

 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)
 {

 }
于 2012-09-20T13:35:37.953 回答
0

听起来 PHP 脚本正在检查请求标头的预期返回类型,即默认为 HTML,但如果请求请求图像,它将只返回图像。虽然我以前没有使用client.DownloadFile过,所以不知道你会如何设置标题。但这可能值得研究。

于 2012-09-20T09:14:31.777 回答