2010-05-04 5 views
13

J'essaie de trouver un moyen de créer un fichier délimité par des tabulations contenant des données provenant de champs définis par l'utilisateur et permettre à l'utilisateur de télécharger ce fichier sur google app engine.google app engine python télécharger le fichier

L'environnement sandbox dans lequel s'exécute l'application n'autorise pas l'application à écrire sur le disque. Existe-t-il un autre moyen de créer un fichier téléchargeable?

Répondre

27

Bien sûr, il y a! Vous pouvez sortir vos données comme csv, par exemple. Tout ce que vous devez faire est de changer l'en-tête Content-Type.

Il est quelque chose comme ceci:

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

En plus de la réponse de jbochi, vous pouvez également ajouter un en-tête Content-Disposition à enregistrer à l'aide d'un nom de fichier particulier.

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