在RStudio Cloud中从FTP下载.zip文件

时间:2019-05-02 12:11:38

标签: r ftp zip rcurl rstudio-server

问题

我正在尝试从FTP下载.zip文件,同时将其保存并在云中进行处理。

背景

由于公司原因,我无法在笔记本电脑上正确使用R(旧版本,功能被阻止等)。我正在替代RStudio Cloud。

我正在使用RCurl。从我发现的内容来看,我需要先运行getBinaryURL然后运行writeBin,但是我找不到直接将文件写入RStudio Cloud的方法。如果此信息相关,则文件本身约为150MB,RStudio Cloud会为每个项目分配1GB RAM。

install.packages("RCurl")
library("RCurl")
url <- "ftp://myftp"
userpwd <- "myuser:mypass"
filenames <- getURL(url, userpwd = userpwd,ftp.use.epsv = FALSE,dirlistonly = TRUE)
filenames

#All good up to here, files in FTP are returned
#I then had problems with the normal getURL, and found after some googling that I should use getBinaryURL

file<-"ftp://myftp/filename.zip"

con<-getCurlHandle(ftp.use.epsv=FALSE,userpwd=userpwd)
raw<-getBinaryURL(file,curl = con,dirlistonly=FALSE)

#This returns a raw file, 150MB

tmp<-tempfile()
zip<-writeBin(zip,tmp)

#Returns "Error in writeBin(zip, tmp) : can only write vector objects"

如何直接在云环境中保存.zip文件?

注意:在普通笔记本电脑上,我将使用命令

writeBin(zip,'directory/file.zip')

它可以正常工作

1 个答案:

答案 0 :(得分:0)

就解决了-如果有人可能出于相同的原因,我只需点击路径选择中的标签即可:

writeBin(raw,'hitTabWhenHere')

选择第一个选项:)至少文件在那里!