如何解决从 github 下载返回“404 not found”加上错误的下载大小
我正在尝试使用以下代码从 github 下载 .tif 文件:
file1 <- "modis_mcd12q1_umd_2010.tif"
dir.create("data",showWarnings = FALSE)
if (!file.exists(file.path("data",file1))) {
download.file(paste0("https://github.com/lime-n/data/blob/main/modis_mcd12q1_umd_2010.tif",file1),file.path("data",mode = "wb")
}
但是,它返回此错误:
尝试 URL 'https://github.com/lime-n/data/blob/main/modis_mcd12q1_umd_2010.tifmodis_mcd12q1_umd_2010.tif' 下载错误(paste0(“https://github.com/lime-n/data/blob/main/modis_mcd12q1_umd_2010.tif”,: 无法打开 URL 'https://github.com/lime-n/data/blob/main/modis_mcd12q1_umd_2010.tifmodis_mcd12q1_umd_2010.tif' 另外: 警告信息: 在 download.file(paste0("https://github.com/lime-n/data/blob/main/modis_mcd12q1_umd_2010.tif",: 无法打开 URL 'https://github.com/lime-n/data/blob/main/modis_mcd12q1_umd_2010.tifmodis_mcd12q1_umd_2010.tif':HTTP 状态为 '404 Not Found'
有什么办法可以克服这个问题吗?
编辑:
感谢@MrFlick,之前的问题解决了。
但是,当我下载文件时,它不是原始大小。当使用上述代码的更正版本时,它从 github 手动下载时的 8.5mb 变为 ~85kb:
if (!file.exists(file.path("data",file1))) {
download.file(paste0("https://github.com/lime-n/data/blob/main/",mode = "wb")
}
我尝试将其读入 raster
中,但它不起作用。
解决方法
您的网址仍然不正确。您下载的 84K 是 GitHub 页面的 html,而不是二进制文件本身。您需要:
if (!file.exists(file.path("data",file1))) {
download.file(paste0("https://raw.githubusercontent.com/lime-n/data/main/",file1),file.path("data",mode = "wb")
}
#. trying URL 'https://raw.githubusercontent.com/lime-n/data/main/modis_mcd12q1_umd_2010.tif'
#> Content type 'application/octet-stream' length 8791730 bytes (8.4 MB)
#> downloaded 8.4 MB
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。