Próbuję w ruby, aby przeczytać obraz z url i następnie zapisać go do Tempfile
do późniejszego przetworzenia.Napisz StringIO do pliku Tempfile
To nie działa, co powoduje, że temp.jpg
nie jest prawidłowym obrazem. Nie wiem, jak to zrobić.
Dzięki
Próbuję w ruby, aby przeczytać obraz z url i następnie zapisać go do Tempfile
do późniejszego przetworzenia.Napisz StringIO do pliku Tempfile
To nie działa, co powoduje, że temp.jpg
nie jest prawidłowym obrazem. Nie wiem, jak to zrobić.
Dzięki
Jesteś bardzo blisko:
file.binmode
file.write stringIo.read
open(url)
jest tylko otwarcie strumienia do czytania. Nie odczytuje on danych, dopóki nie zadzwonisz pod numer .read
(który można następnie przekazać do file.write
).
Można również utworzyć pliku tymczasowego z poprawnym kodowaniem, jak tak:
file = Tempfile.new ([ 'temp', 'jpg.]: Encoding => 'ascii-8bit')
To jest to samo, co ustawienie pliku na tryb bin.
Dziękuję, super blisko hehe to uwielbiam. Również brakowało mi 'file.binmode' na wypadek, gdyby ktoś miał podobny problem. –
thnx dla file.binmode !! – Zippie