Download de arquivos com Ruby
15 de maio de 2011
Dica simples: Estava criando uma aplicação onde precisei fazer o download de um arquivo e salvar no file system. Com este simples trecho de código é possível fazer isso:
require 'net/http' Net::HTTP.start("rinaldifonseca.com") do |http| resp = http.get("/my_file.jpg") open("my_file.jpg", "wb") do |file| file.write(resp.body) end end
4 Comentários »
Feed RSS dos comentários deste post URL de TrackBack

Cara Parabéns! por publicar isso,hoje é muito dificil encontrar assuntos em português na net sobre ruby.
Valew,por esse post e por outros.
Comentário por Ricardo — 1 de julho de 2011 @ 2:26
Valeu Ricardo!
Comentário por Rinaldi Fonseca — 1 de julho de 2011 @ 2:29
Rinaldi, não sei se isso é pratica e como você tem mais conhecimento do que eu mas, o uso do “file.close” não é obrigatório?
não tenho certeza em Linux, mas em Windows, isso pode dar um pouco de dor de cabeça, brinquei recentemente com o FileUtils e ao escrever e logo em seguida mover um arquivo, o Windows chiava porque o arquivo estava em “uso”
Em linux eu acredito que não tenha esse tipo de problema já que é mais flexivel quanto ao filesystem, apesar de não saber exatamente quais problemas poderiam acarretar.
levei um tempinho tentando descobrir qual era o problema no script, já que o unico output que eu tinha era “PERMISSION DENIED”..
Abraço!
Comentário por deadcow — 25 de fevereiro de 2012 @ 23:04
Olá,
Sempre é uma boa prática fechar o file descriptor mas neste caso, usando o File.open passando um bloco, o descriptor é fechado automaticamente.
Abraços!
Comentário por admin — 25 de fevereiro de 2012 @ 23:16