问题
我正在尝试从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')
它可以正常工作
答案 0 :(得分:0)
就解决了-如果有人可能出于相同的原因,我只需点击路径选择中的标签即可:
writeBin(raw,'hitTabWhenHere')
选择第一个选项:)至少文件在那里!