Net :: SFTP Режим передачи (двоичный или текстовый) - PullRequest
3 голосов
/ 25 февраля 2012

Есть ли способ использовать библиотеку Net :: SFTP в Ruby ( API Link ), чтобы установить Режим передачи на двоичный ?Я, к несчастью, нахожусь в системе Windows и загружаю файл UTF-8 в систему Unix.Библиотека ruby, по-видимому, использует текст в качестве режима передачи по умолчанию, и моя кодировка искажается с помощью ANSI.Если я смогу включить бинарный режим, UTF-8 должен оставаться в такте.

Спасибо

1 Ответ

4 голосов
/ 14 июня 2012

Я думаю, что нашел обходной путь.

Раньше мы делали что-то вроде этого:

sftp.file.open(filename) do |f|
  f.puts(data)
end

Мы изменили это, чтобы использовать объект StringIO, например:

require 'stringio'
io = StringIO.new(data)
sftp.upload!(io, filename)

Использование загрузки!Кажется, что метод уважает кодировку, поскольку он просто копирует байты.

Надеюсь, это поможет.

...