[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