[pyar] [Web] Descargar archivo asignando un nombre
Leandro Brunner
leandrobrunner en yahoo.com.ar
Jue Mayo 29 12:03:13 ART 2014
Sisi ;), lo expliqué en un correo anterior... Lo que se hace es
almacenar el archivo en un Blob(un binario) y se convierte en una url
con la que luego debes generar un link donde se especifica en el
parámetro "download" el nombre del archivo.
Quedaría algo así: <a href="blob:--------"
download="que-tema.mp3">Descargar que-tema.mp3</a>
Saludos.
El 29/05/14 11:52, Luis Masuelli escribió:
> Pero permite cambiar el nombre de archivo?
>
> ------------------------------------------------------------------------
> Date: Thu, 29 May 2014 11:44:50 -0300
> From: leandrobrunner en yahoo.com.ar
> To: pyar en python.org.ar
> Subject: Re: [pyar] [Web] Descargar archivo asignando un nombre
>
> Utilizando la api "Filesystem API"de JavaScript, no te come a vos el
> ancho de banda... ya que el cliente (navegador) manda una solicitud al
> servidor remoto donde está alojado el archivo y lo almacena para su
> posterior uso...
>
> El 29/05/14 11:20, Luis Masuelli escribió:
>
> No lo soluciona ni lo solucionara nunca. Si no queres hacerte
> cargo del ancho de banda, de la request se encarga otro y por otro
> lado. Si queres encargarte vos -ya que queres interceptar los
> encabezados- entonces el ancho de banda es propio. Puede que con
> los iteradores (stream=True) no te mastiques la memoria de tu
> maquina, pero aun asi el ancho de banda te lo vas a masticar
> porque sos quien envia el contenido. Eso es insalvable porque es
> todo server-side y las requests vienen enteritas de un solo
> servidor. Estaria bueno poder indicar "Mira: te indico a que te
> bajes el contenido, por tu cuenta, de <aca> pero luego de pedirle
> los headers a ese servidor adjuntes estos headers X Y Z que te
> estoy pasando ahora" pero creo que eso si existiera podria dar
> lugar a altisimos bugs de seguridad.
>
> ------------------------------------------------------------------------
> From: slacklinucs en gmail.com <mailto:slacklinucs en gmail.com>
> Date: Thu, 29 May 2014 08:42:21 -0300
> To: pyar en python.org.ar <mailto:pyar en python.org.ar>
> Subject: Re: [pyar] [Web] Descargar archivo asignando un nombre
>
> Manuel,
>
> Me parece que una buena forma de ahorrar ancho de banda es
> iterando sobre el body de la respuesta de requests como mostré más
> arriba, con la solución JS si o si tenés que descargar el archivo
> completo a tu servidor *antes* de que le des al usuario el Save
> As. Según tengo entendido mega hostea los files en sus propios
> servidores así que no es lo mismo que lo que vos querés hacer acá.
>
> En resumidas cuentas, si vos querés mostrarle el Save As al
> usuario con un filename que vos quieras, tenés que tener el
> archivo en tu server. El problema es ahorrar ancho de banda para
> los otros usuarios también, descargar el archivo completo a tu
> server antes de servirlo a tus usuarios no me parece que solucione
> el problema del ancho de banda.
>
> Saludos!
>
>
> 2014-05-28 22:01 GMT-03:00 Leandro Brunner
> <leandrobrunner en yahoo.com.ar <mailto:leandrobrunner en yahoo.com.ar>>:
>
> También puedes usar una combinación de ambas. Utilizar un
> proxy para los navegadores que no son compatibles, los cuales
> van a ser pocos... ;)
>
> Saludos. Si tienes alguna duda con JavaScript escribíme.
> El 28/05/14 21:55, Manuel Kaufmann escribió:
>
> Gracias por las respuestas.
>
> Creo que lo más fácil de implementar y que salga andando
> es hacer un proxy utilizando el ancho de banda de mi
> servidor, lo cuál es una cagada porque si hay 2 o 3
> descargando simultánneamente ya se va a venir abajo
> seguramente.
>
> Por otro lado me gustaría investigar un poco más eso que
> dicen de Javascript y el "Filesystem API" para guardar en
> caché. Por ejemplo, https://mega.co.nz/ funciona así.
> Empieza a bajar el archivo a "algún lado" y cuando termina
> te muestra una ventana onda "Save as...", le das la
> ubicación y solo lo mueve ahí (por detrás). Eso parece
> funcionar como dicen ustedes.
>
> Creo que voy a investigar un poco por el lado de javascript...
>
>
>
> 2014-05-28 18:31 GMT-03:00 Martin Chikilian
> <slacklinucs en gmail.com <mailto:slacklinucs en gmail.com>>:
>
> Yo pensaba en algo como (sin probar):
>
> def view():
> resp = requests.get(url_bandcamp_mp3, stream=True)
> def generate():
> for chunk in resp.iter_content:
> yield chunk
> return Response(generate(),
> headers={'Content-Disposition': 'attachment;
> filename=my_own_filename.mp3'}, mimetype='audio/mpeg')
>
>
>
> 2014-05-28 18:17 GMT-03:00 Sebastián Seba
> <ssebastianj en gmail.com <mailto:ssebastianj en gmail.com>>:
>
>
> El 28 de mayo de 2014, 17:53, Martin Chikilian
> <slacklinucs en gmail.com
> <mailto:slacklinucs en gmail.com>> escribió:
>
> Está interesante el tema, tal vez una
> combinación de esto ayude a tu caso?
> http://docs.python-requests.org/en/latest/user/advanced/#body-content-workflow
> + http://flask.pocoo.org/docs/patterns/streaming/
>
>
>
> +1.
>
> En este caso ¿qué convendría?
>
> * Que Requests realice el streaming.
> * Que la vista de Flask haga el streaming.
> * Ambos hacen el streaming.
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> <mailto:pyar en python.org.ar>
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web:
> http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios
> de Software Libre de Argentina -
> http://www.usla.org.ar
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> <mailto:pyar en python.org.ar>
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web:
> http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de
> Software Libre de Argentina - http://www.usla.org.ar
>
>
>
>
> --
> Kaufmann Manuel
> -- http://mkaufmann.com.ar
>
>
> _______________________________________________
> pyar mailing listpyar en python.org.ar <mailto:pyar en python.org.ar>
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web:http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina -http://www.usla.org.ar
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar <mailto:pyar en python.org.ar>
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
> Libre de Argentina - http://www.usla.org.ar
>
>
>
> _______________________________________________ pyar mailing list
> pyar en python.org.ar <mailto:pyar en python.org.ar>
> http://listas.python.org.ar/listinfo/pyar PyAr - Python Argentina
> - Sitio web: http://www.python.org.ar/ La lista de PyAr esta
> Hosteada en USLA - Usuarios de Software Libre de Argentina -
> http://www.usla.org.ar
>
>
> _______________________________________________
> pyar mailing listpyar en python.org.ar <mailto:pyar en python.org.ar>
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web:http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina -http://www.usla.org.ar
>
>
>
> _______________________________________________ pyar mailing list
> pyar en python.org.ar http://listas.python.org.ar/listinfo/pyar PyAr -
> Python Argentina - Sitio web: http://www.python.org.ar/ La lista de
> PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina -
> http://www.usla.org.ar
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140529/48f9ece7/attachment-0001.html>
More information about the pyar
mailing list