Как закодировать медиа в base64, данном URL в Ruby

Короткий ответ - то, что Вы не делаете. Причина состоит в том, что свойства являются действительно просто методами, и при попытке изменить тип возврата, Вы получаете это:

  • (UIView *) представление;
  • (MyView *) представление;

Objective C делает не , позволяют ковариантность типа возврата.

то, Что можно сделать, добавляет новое свойство "myView" и заставляет его просто преобразовать тип свойства "представления". Это облегчит преобразования типа всюду по Вашему коду. Просто присвойте свой подкласс представления свойству представления, и все должно хорошо работать.

50
задан Adrian Mann 14 April 2015 в 05:17
поделиться

2 ответа

Метод open :

open("http://image.com/img.jpg")

возвращает объект Tempfile, а encode64 ожидает String.

Вызов read во временном файле должно помочь:

ActiveSupport::Base64.encode64(open("http://image.com/img.jpg") { |io| io.read })
50
ответ дан 7 November 2019 в 10:31
поделиться

Закодировать файл в кодировке base64:

File.open("output_file","w"){|file| file.write [open("link_to_file").string].pack("m")}

Декодировать файл в кодировке base64:

File.open('original', 'wb') {|file| file << (IO.readlines('output_file').to_s.unpack('m')).first }
11
ответ дан 7 November 2019 в 10:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: