Мне нравится Конечная остановка для некоторого материала командной строки, по крайней мере, прокручивая файлы журнала и irssi/irc ( версии TTF, доступные ). Снимок экрана terminus.ttf в действии ниже (PuTTY на Windows XP с ClearType включил).
Я знаю, что сделал то же самое, и считаю, что только что создал объект File из пути к каждому файлу и назначил его атрибуту изображения. Скрепка будет работать с этим файлом:
thing.image = File.new("/path/to/file.png")
thing.save
Это отлично работает для локальных файлов, но не так хорошо работает для удаленных файлов. У меня есть приложение, которое использует скрепку для загрузки изображений. Эти изображения хранятся на amazon s3. В любом случае, у меня были старые данные, которые нужно было импортировать, поэтому я попробовал следующее:
thing.image = open('http://www.someurl.com/path/to/image.jpg')
thing.save
Если файл маленький (скажем, меньше 10K), то openuri возвращает объект stringio, и мой файл сохраняется на s3 как stringio.txt
Если файл больше 10K, то openuri возвращает объект TempFile. Но имя файла на s3 оказывается уникальным, но не имеет отношения к исходному имени image.jpg
Я смог решить эту проблему, сделав следующее:
remote_photo = open('http://www.someurl.com/path/to/image.jpg')
def remote_photo.original_filename;base_uri.path.split('/').last; end
thing.image = remote_photo
thing.save