ruby net/sftp 在将文件上传到远程时出现写入错误

标签 ruby linux

我正在尝试将文件从一台电脑复制到本地 nas 服务器。 以下内容有效,因此连接没有错误

 @connection = Net::SFTP.start(host, username, :password => serverpassword)
 @connection.dir.foreach("/media/MediaShare") do |entry|
    puts entry.longname
 end

另一方面,这不起作用:

       local = '/home/ubuntu64/Videos/myfile.avi'
       remote = '/media/MediaShare/myfile.avi'

       @connection.upload!(local, remote)



    upload.rb:331:in `on_write': Net::SFTP::StatusException
    write/media/MediaShare/myfile.avi (4, "failure") (Net::SFTP::StatusException)

现在,如果我创建并使用 1kb 大小的文件执行相同操作,它会毫无问题地移动,这让我思考是否存在文件限制?

最佳答案

据我所知,

Net::SFTP 对文件大小没有任何限制。但是,如果您的服务器使用 nginx 或 apache,则可能存在限制(对于 nginx 默认为 50 MB),或者远程计算机上的 sftp 用户可能存在限制。

关于ruby net/sftp 在将文件上传到远程时出现写入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11591801/

相关文章:

linux - Mac/Win 中的 Docker CPU/Mem 分配

ruby - Ruby 正则表达式分组的量词

ruby - 收集所有不在使用 Ruby 的

ruby /Resque/Redis : How to set up workers on different machines?

ruby-on-rails - 向 Rails 3 添加 Ruby 扩展方法的最佳实践?

c++ - Linux gnu++11,运行时获取 "Enable multithreading to use std::thread: Operation not permitted"

python - 我们可以在 Python 中使用 C 代码吗?

angularjs - Protractor Js 运行到 linux 机器

ruby - 异步 Ruby 如何在 Vim 中工作?

linux - 在 linux 终端运行 Ada 程序