【问题标题】:How to upload a file to a server via FTP using R?如何使用 R 通过 FTP 将文件上传到服务器?
【发布时间】:2011-04-06 22:23:00
【问题描述】:

如何使用 R 通过 FTP 将文件上传到服务器?

【问题讨论】:

    标签: r file-upload ftp


    【解决方案1】:

    这应该可行:

    library(RCurl)
    ftpUpload("Localfile.html", "ftp://User:Password@FTPServer/Destination.html")
    

    其中Localfile.html 是要上传的文件,User 表示用户名,Password 是登录服务器的密码,而FTPServer 是服务器名称的占位符和最后可能使用的路径但并非最不重要的Destination.html 是要上传的文件在服务器上获取的名称的示例。

    【讨论】:

    • 有没有办法直接从r全局环境上传而不保存(例如-tableData ftp.blahblah/tableData.csv", userpwd = "user:pass")
    • 这可能有效:ftp_upload <- function(df, dest, user, pass, server, protocol = "ftp"){ fname <- tempfile() write.csv(df) RCurl::ftpUpload( what = fname, glue::glue("{protocol}://{user}:{pass}@{server}/{dest}") ) } ...但我没有办法再测试了
    【解决方案2】:

    您最好的选择可能是RCurl 包。来自描述:

    [...] 此外, 底层实现是健壮的 广泛,支持 FTP/FTPS/TFTP(上传和下载),

    否则,请重新考虑您的问题。也许 HTTP POST 也可以。现在已经不是 1986 年了,所以你不需要使用 ftp。

    【讨论】:

    • 谢谢 Dirk - 这听起来是一个有趣的结帐方向
    【解决方案3】:

    如果你可以从命令行访问它,那么你可以这样做:

    system("ftp ...") # where ... is the argument list
    

    如果您打算经常这样做,您可以轻松地将其包装在 R 函数中。

    【讨论】:

    • 身份验证变得很痛苦,所有这些事情的处理方式都取决于平台。因此我呼吁 RCurl...
    【解决方案4】:

    这可能不是您要寻找的答案,但我通过将文件移动到我的公共保管箱文件夹并在我的 R 代码中链接到该文件夹​​来解决我的共享问题。

    我的两便士。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      • 2011-09-25
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      相关资源
      最近更新 更多