【问题标题】:R: Why downloaded PNG file using download.file() can not be opened?R: 为什么使用 download.file() 下载的 PNG 文件无法打开?
【发布时间】:2019-10-06 05:53:11
【问题描述】:

我有一个问题,但找不到我的答案是以下链接:

Download png/jpg with R

Downloading png from Shiny (R)

Use href and target in download.file R?

What's the "internal method" of R's download.file?

问题:

我正在使用此代码下载 PNG 文件。但是,下载的 PNG 文件不可读(windows 照片查看器无法打开此图片不支持此文件格式)。

请注意:原始 PNG 文件在 R 和 Windows 中都可以轻松读取。

问题似乎来自 download.file() 中的 mode=" " 选项

我在那里尝试了这三种模式,但问题仍然存在:

mode = "wb"
mode = "w"
mode = "ab"

这是我的代码:

URL <- "https://www.dropbox.com/s/cwqr0dxqmgjkna4/third_logo.png"

download.file(URL, mode = 'wb')

任何想法都会受到高度赞赏。

【问题讨论】:

  • 您有一个预览页面的 URL(HTML 格式),其中包含 PNG 文件的图像。如果您使用download.file(URL, "third_logo.html") 下载文件,您可以看到这一点。您将能够在浏览器中加载它并查看/保存图像。有多种方法可以提取 HTML,但您可能会发现使用 Dropbox 应用将文件同步到您的计算机并从那里加载它更容易。
  • @Edward Carney,感谢您的好评。它现在可以工作了,但是,我需要下载的 PNG 格式的文件,因为我必须在后面的行中使用它。是否可以在 R 中读取像 PNG 这样的 HTML 文件?

标签: r download png mode


【解决方案1】:

Dropbox 提供了直接下载内容的方式。
https://zapier.com/learn/how-to/generate-direct-dropbox-link/

你的代码应该是

URL <- "https://dl.dropboxusercontent.com/s/cwqr0dxqmgjkna4/third_logo.png"
download.file(URL, destfile = "test.png", mode = 'wb')

【讨论】:

    【解决方案2】:

    将?dl=1 添加到您的URL 字符串中。这将下载文件本身而不是预览页面。您还需要为文件名指定一个字符串。该文件将保存在您当前的工作目录中。您也可以将其保存在完整路径中。不需要mode 参数。

    URL <- "https://www.dropbox.com/s/cwqr0dxqmgjkna4/third_logo.png?dl=1"
    download.file(URL,"third_logo.png")
    

    【讨论】:

    • 我确认答案也适用于模式参数“wb”。
    猜你喜欢
    • 1970-01-01
    • 2021-08-02
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 2015-01-03
    • 2014-05-26
    • 1970-01-01
    相关资源
    最近更新 更多