2010-05-04 19 views
13

Estoy tratando de encontrar una manera en la que pueda crear un archivo delimitado por tabuladores que contenga datos de campos definidos por el usuario y permita al usuario descargar ese archivo en el motor de la aplicación google.google app engine archivo de descarga python

El entorno de la zona de pruebas en el que se ejecuta la aplicación no permite que la aplicación escriba en el disco. ¿Hay alguna otra manera en la que pueda crear un archivo descargable?

Respuesta

27

¡Claro que sí! Puede generar sus datos como csv, por ejemplo. Todo lo que necesita hacer es cambiar el encabezado Content-Type.

Es algo como esto:

class Test(webapp.RequestHandler): 
    def get(self, upload_type): 
     self.response.headers['Content-Type'] = 'text/csv' 
     self.response.out.write(','.join(['a', 'cool', 'test'])) 
20

Además de la respuesta de jbochi, también se puede añadir una cabecera Content-Disposición para salvar utilizando un nombre de archivo en particular.

self.response.headers['Content-Disposition'] = "attachment; filename=fname.csv"