Guardar WWW :: Mecanizar :: Archivo para FileUtils disco usando
Pregunta
El uso de Mechanize con Ruby consigo un determinado archivo usando agent.get('http://example.com/foo.torrent')
, con FileUtils o de otra manera, ¿cómo puedo guardar el archivo en el disco duro (por ejemplo, en un directorio de donde se ejecuta el script)?
P.S. class => WWW::Mechanize::File
Solución
Bueno, WWW::Mechanize::File
tiene un método de instancia save_as
, así que supongo que algo como esto podría funcionar:
agent.get('http://example.com/foo.torrent').save_as 'a_file_name'
Otros consejos
Tenga en cuenta que la clase Mechanize::File
no es el más adecuado para archivos de gran tamaño. En esos casos, se debe utilizar la clase Mechanize::Download
lugar, ya que descarga el contenido en pequeños trozos en el disco. El archivo se descargará en donde se está ejecutando la secuencia de comandos (aunque se puede especificar una ruta diferente también). Es necesario configurar el analizador por defecto en primer lugar, crear uno nuevo o modificar un programa de análisis existentes. A continuación, guardarlo en la trayectoria deseada:
agent.pluggable_parser.default = Mechanize::Download
agent.get( "http://example.com/foo.torrent}").save("path/to/a_file_name")
aquí y aquí para más detalles. Además, hay una pregunta similar aquí en Stackoverflow.