如果文件变得太大,则中止 R 中的 download.file

问题描述

一个闪亮的应用程序中,我希望用户能够下载文件大小限制为 100MB 的远程 (.nc) 文件

对于某些文件,检查标头效果很好,如此处所建议的 https://stackoverflow.com/a/20921907/6424231 例如

--profile

但是对于 THREDDS 服务器上的 .nc 文件httr::headers(httr::HEAD("https://www.unidata.ucar.edu/software/netcdf/examples/ECMWF_ERA-40_subset.nc"))[["Content-Length"]] #> [1] "22165040" 属性不可用,例如

Content-Length

所以我在下载之前不知道这个文件的大小。

有没有一种方法可以让 httr::headers(httr::HEAD("https://dapds00.nci.org.au/thredds/ncss/uc0/Test_pixel_count.nc?var=Band1&north=-22.9556&west=142&east=143&south=-25.0706&disableProjSubset=on&horizStride=1"))[["Content-Length"]] #> NULL 开始,但如果它达到 100MB 并且下载尚未完成,则中止下载?我知道 download.file() 中也有超时选项,但理想情况下,我希望限制基于文件大小,因为我不希望连接速度较慢的用户无法下载相对较小的文件

这在 R 中是可能的还是有其他方法可以避免用户下载任意大的文件

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)