我需要從某些網站編寫圖像解析器,它將拍攝圖像,一些其他信息並將其保存到我的本地文件夾。 所以我們可以說,我們在這個網址有圖片: https://i.stack.imgur.com/MiqEv.jpg (這是誰家的SO頭像)如何將圖像從網址保存到本地ubuntu文件夾從軌道控制檯?
所以我想將其保存到本地文件夾。比方說,以"~/test/image.png"
我發現這個link
而且我在終端試過這樣:
rails console
require 'open-uri'
open('~/test/image.jpg', 'wb') do
|file| file << open('https://i.stack.imgur.com/MiqEv.jpg').read
end
而且我得到了這個輸出from console #<File:~/test/image.jpg (closed)>
我該怎麼辦?
而且我想這:
require 'open-uri'
download = open('https://i.stack.imgur.com/MiqEv.jpg')
IO.copy_stream(download, '~/test/image.jpg')
,並得到這樣的輸出:
=> #https://i.stack.imgur.com/MiqEv.jpg>,@元= {「date」=>「Fri,06 May 2016 11:58:05 GMT」,「content-type」=>「image/jpeg」,「content-length」=>「4276」, 「connection」=「 >「keep-alive」, 「set-cookie」=>「__ cfduid = d7f982c0742bf40e58d626659c65a88841462535885; expires = Sat,06-May-17 11:58:05 GMT; path = /; domain = .imgur.com; HttpOnly「,」cache-control「=>」public,max-age = 315360000「, 」etag「=>」\「b75caf18a116034fc3541978de7bac5b \」「,」expires「=>」Mon,04 May 2026 11:58 :05 GMT「,」last-modified「=>」Thu,28 Mar 2013 15:05:35 GMT「,」x-amz-version-id「=>」TP7cpPcf0jWeW2t1gUz66VXYlevddAYh「, 」cf-cache-status「 =>「HIT」,「vary」=>「Accept-Encoding」, 「server」=>「cloudflare-nginx」,「cf-ray」=>「29ec4221fdbf267e-FRA」}, @metas = {「date 「=」[「Fri,06 May 2016 11:58:05 GMT」], 「content-type」=> [「image/jpeg」],「content-length」=> [「4276」], 「連接「=> [」keep-alive「], 」set-cookie「=> [」__ cfduid = d7f982c0742bf40e58d626659c65a88841462535885; expires =星期六,06五月-17:11:58:05 GMT;路徑= /;域= .imgur.com; HttpOnly「],」cache-control「=> [」public,max-age = 315360000「], 」etag「=> [」\「b75caf18a116034fc3541978de7bac5b \」「],」expires「=> [」Mon,04 May 2026 11:58:05 GMT「],」last-modified「=> [」Thu,2013 3月28日15:05:35 GMT「],」x-amz-version-id「=> [」TP7cpPcf0jWeW2t1gUz66VXYlevddAYh 「], 」cf-cache-status「=> [」HIT「],」vary「=> [」Accept-Encoding「], 」server「=> [」cloudflare-nginx「],」cf-ray 「=> [」29ec4221fdbf267e-FRA「]}, @status = [」200「,」OK「]> 2.3.0:244> IO.copy_stream(download,'〜/ test/image.jpg')= > 4276
但我的文件夾是st生病了。 我該怎麼辦?
我不知道它是否適合您的用例,但carrierwave gem使用戶非常容易(例如,如果您希望用戶上傳他們的頭像)。 https://github.com/carrierwaveuploader/carrierwave#uploading-files-from-a-remote-location – Matt
@Matt我根本沒有任何用戶。 =)我正在寫一個圖像解析器 – user2950593
嘗試用'/ home/yourusername /'替換'〜'\ –