我已将 .RData 文件(使用 创建save()
)上传到 ftp 服务器,我正在尝试使用 getURL() 下载相同的文件。对于我读过的所有示例和帖子,我似乎无法让它发挥作用。
.RData 文件使用以下方法保存:
save(results, file=RDataFilePath, compress="xz") #save object "results" w/ compression
#RDataFilePath is the location of the results.RData file on my harddrive
这些数据是使用以下方式上传的:
uploadURL <-"ftp://name:password@host/folder/results.RData" #name the url
ftpUpload(RDataFilePath, to=uploadURL, connecttimeout=120) #upload
这就是我尝试下载 results.RData 的方式getURL
:
downloadURL <- "host/folder/results.RData"
load(getURL(downloadURL, userpwd="name:password", connecttimeout=120))
这给出了以下错误:
Error in curlPerform(curl = curl, .opts = opts, .encoding = .encoding) :
embedded nul in string: 'ý7zXZ'
当我将downloadURL
字符串粘贴到浏览器中时,.RData 文件会立即下载,所以我知道没有错字。错误消息表明 url 无法读取压缩格式的 b/c;但是,当我使用save()
w/o 压缩时,我会收到类似的错误消息。
尝试从 FTP 下载 .csv 时,我也会收到一条错误消息:
read.csv(getURL(downloadURL1)) #downloadURL1 is similar to downloadURL, but points to the .csv file
Error in file(file, "rt") : cannot open the connection
然后是一个警告,它指出In addition: Warning message:
In file(file, "rt") : cannot open file
然后开始列出 .csv 的内容。
在早上的大部分时间里,我一直在努力解决这个问题,我觉得我一定错过了一些非常基本的东西。我猜我需要更改一些 curl 选项,以便它知道它将读取什么类型的文件。我的语法可能有点不对劲,而且我没有正确使用 getURL,但我不确定我应该做什么。
任何提示将非常感谢。
ps 我目前的做法是基于这篇文章