Estoy tratando de escribir un script ruby fcgi que comprime archivos en un directorio sobre la marcha y envía el resultado en bloque como una respuesta http. Es muy importante que esta compresión se realice como una operación de flujo, de lo contrario, el cliente obtendrá un tiempo de espera para directorios enormes.Ruby zip una secuencia
tengo el siguiente código:
d="/tmp/delivery/"
# send zip header
header(MimeTypes::ZIP)
# pseudocode from here on
IO.open(d) { |fh|
block=fh.readblock(1024)
#send zipped block as http response
print zip_it(block)
}
¿Cómo logro lo que he escrito como pseudo-rubí en el listado superior?
Me gustaría también saber esto, la gema zipruby es tan similar a Java y rígido ... Yo siempre terminan generando la cremallera externa (que es muy potente, pero un poco triste de hacer) – tokland
¿cómo hiciste eso? He intentado con 'IO.popen (" zip -0 -r -o - \ "# {file_list.join ('" "')} \" 2>/dev/null ") {| f | print f.read (512)} 'pero descomprima las notificaciones sobre el formato zip no válido. – gorootde
puede obtener más tracción con tar/gz – rogerdpack