Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有办法在Ruby(API 链接)中使用Net::SFTP库将传输模式设置为二进制?不幸的是,我在 Windows 系统上,正在将 UTF-8 文件上传到 Unix 系统。ruby 库显然使用 Text 作为默认传输模式,并导致我的编码与 ANSI 混淆。如果我可以强制二进制模式,UTF-8 应该保持不变。
谢谢
我想我找到了解决方法。
之前,我们在做这样的事情:
sftp.file.open(filename) do |f| f.puts(data) end
我们将其更改为使用 StringIO 对象,如下所示:
require 'stringio' io = StringIO.new(data) sftp.upload!(io, filename)
使用上传!方法似乎尊重编码,因为它只是复制字节。
希望有帮助。