3 votes

Problèmes avec le serveur web Tornado filedownlaod

Serveur web tornado.

J'ai une question à poser.

Comment puis-je télécharger un fichier via le serveur web tornado ?

Voici mon code.

def get(self):
    data = self.xls_f()
    self.set_header('Content-Type', 'application/apk')
    self.set_header('Content-Disposition', 'attachment; filename=%s' % 'test.apk')
    f = file('test.apk') 
    self.write(f.read())
    self.finish()
  1. J'obtiens un fichier avec un contenu illisible comme "asdfafasfd". peut-être ceci(' \n ) est illisible.

  2. apk, fichier image etc. je peux télécharger mais la taille du fichier est de 0k ou 1k.

Comment puis-je télécharger plusieurs types de fichiers (image, apk, etc) sur le serveur web tornado ?

Je souhaite avoir un exemple de code source.

4voto

Uttesh Kumar Points 270

Le code ci-dessous permet de télécharger un fichier à partir du serveur tornado, que j'ai utilisé dans mon application pour télécharger un fichier csv. il peut vous aider.

def post(self,filename):
    print('i download file handler : ',filename)

    ifile  = open(filename+".csv", "r")
    self.set_header ('Content-Type', 'text/csv')
    self.set_header ('Content-Disposition', 'attachment; filename='+filename+'')
    self.write (ifile.read())

0voto

Mouad Debbar Points 1700

Pour les fichiers binaires, vous devez faire :

f = file('test.apk', 'rb')

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X