В Ruby, когда вы открываете удаленный файл с помощью open-uri, файловый объект в конечном итоге получает путь с чем-то вроде этого: /tmp/20120329-2113-1-0762/open-uri20120329-1-7dit2c
.У меня есть некоторая обработка файла, которая зависит от расширения присутствующего файла.Есть ли способ сохранить расширение или даже принудительно его использовать при использовании open-uri?
Вот краткое описание того, что происходит, когда вы открываете удаленный файл с помощью open-uri и получаете его путь.Путь выглядит совершенно иначе, чем удаленный URL, поскольку это временный уникальный файл, созданный для этого объекта, но проблема заключается в отсутствии расширения:
> require "open-uri"
=> true
> f = open("http://cdn.sstatic.net/stackoverflow/img/sprites.png")
=> #<File:/var/folders/zq/vx2std7x5qj54xc1g4hpm14h0000gn/T/open-uri20120401-38087-13mm6zy>
> f.path
=> "/var/folders/zq/vx2std7x5qj54xc1g4hpm14h0000gn/T/open-uri20120401-38087-13mm6zy"