【发布时间】:2016-12-07 17:31:20
【问题描述】:
我在从网页下载图像(有时是 zip)时遇到了一些问题。 我已经查看了一些关于该主题的论坛,大部分时间他们建议使用 URLDownloadToFile 函数。 我尝试应用它,但它似乎不起作用。
这是我正在处理的网页类型的示例:
这里的类型是 jpg,但有时也可以是 zip。 对于jpg的情况,我有两种方法:
-
单击查看按钮,这将打开一个包含仅1张图片的新网页,选择该网页并以某种方式下载图片,但我无法做到做。
(当您手动单击图片时会出现“将图片另存为”,但是如何使用 VBA 访问它?):objIE.document.frames(1).frames(1).document.getElementById("notPrintable").document.getElementsByName("view")(0).Click 'This clicks on the View Button attachment_url = "https://pumapgf-row.bmwgroup.net/puma/case/showfile.do?selectedIndex=" & elem_id & "&filename=" & elem_name & "%20%7C%20jpg%20%7C%20" & end_url ' this is the url of the new webpage which is opened when I click the view button Set objIE = IEWindowFromLocation(attachment_url) ' I select the new webpage Set IEDoc = objIE.document ' set document on it这个新网页的 html 当然是 jpg)看起来像这样: 我当时尝试做但未成功的是以这种方式使用 URLDownloadToFile 函数
Dim myImages As IHTMLElementCollection Set myImages = IEDoc.getElementsByTagName("img") returnValue = URLDownloadToFile(0, myImages(0).href, "P:\Alex\ABC.img", 0, 0)无论我在运行代码之前是否创建了这样的调用文件,都没有任何区别。我也尝试过使用 .jpg、.img、.png。 myImages(0).href 像这样结束:
所以我不知道 .href 不以 .jpg 或 .img 之类结尾的事实是否存在问题。
单击 另存为 按钮:对 jpg 和 zip 文件均有效,因此会是更好的解决方案。我当然设法点击它,但问题在于互联网显示此,我不知道如何处理它。
知道怎么做吗?
【问题讨论】:
-
只需下载它并检查文件是否以jpg标题(0xFFD8FFE0)或(0xFFD8FF01)开头。
-
不确定是否理解您的评论。您可以在我帖子的最后一张图片上看到该图片的名称(以 UX69525 开头)
-
我不是在谈论文件名,我是在谈论您下载的实际二进制文件。
-
我如何/在哪里可以实际检查这个?