2015-12-07 183 views

回答

7

什麼是不工作?

下面是一個例子:

$> irb 
>> require 'open-uri' 
>> img = open("https://meo-fb-natal-dev.s3.amazonaws.com/participations/cropped/56658c5de2fc7116340000c0/635769180217506883-GD5A9264.jpg?1449495643") 
# img variable is a tempfile with image 
>> require 'base64' 
>> Base64.encode64(img.read) 
=> "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJ\nChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/\n2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo\nKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAFTAoYDASIAAhEBAxEB/8QA\nHAAAAAcBAQAAAAAAAAAAAAAAAQIDBAUGBwAI/8QAShAAAgEDAgQEAwUGB..." 
+0

也許我錯了,但那些新行(\ n)的不應該在那裏...把jpg元標籤放在開頭,它不會在瀏覽器中打開... –

+0

[[Base64.strict_encode64()'](http://ruby-doc.org/stdlib-2.2.3/libdoc/base64/rdoc/ Base64.html#method-i-strict_encode64) - *不添加換行符。* –

+0

謝謝先生,您真的幫助過我點擊的點擊!現在我只有把元標記和完成,但我可以獨自做,非常感謝你! –

0

如果我你可以試試這個

url = "https://meo-fb-natal-dev.s3.amazonaws.com/participations/cropped/56658c5de2fc7116340000c0/635769180217506883-GD5A9264.jpg?1449495643" 
ActiveSupport::Base64.encode64(open(url) { |io| io.read })