从使用R网站下载图片时遇到问题
好像download.file
:
尝试网址“http://i.imgur.com/pszAeGh.png” 内容类型'image / png'长度16592字节(16 Kb) 打开网址 下载了16 Kb
它也会以正确的名称和文件结尾(.png)下载到正确的目录中。
download.file("http://i.imgur.com/pszAeGh.png",paste(**yourDEST**,"Stackoverflow",".png",sep=""))
但是,该文件被屠宰,无法打开。
我在这里做错了什么?
答案 0 :(得分:4)
我找不到重复,所以我只是回答。
此download.file
帮助有点碎片,但如果仔细阅读,您会发现,在Windows上,默认mode = "w"
仅适用于文本文件。对于二进制文件(除了文本之外的所有内容),您需要mode = "wb"
。这将自动完成如果网址以gz, .bz2, .xz, .tgz, .zip, .rda
或.RData
中的任何一个结尾,但是您需要自己指定mode = "wb"
。
答案 1 :(得分:3)
您也可以切换到httr
包:
library(httr)
GET("http://i.imgur.com/pszAeGh.png",
write_disk(paste("/tmp/", "Stackoverflow", ".png", sep="")))
write_disk
的加号是它默认不会覆盖(即你得到隐式缓存),并且对二进制文本和文本都不需要特殊处理。