3

龙卷风网络服务器。

我有个问题。

我如何通过 tornado 网络服务器下载文件?

这是我的代码。

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. 我得到的文件包含不可读的内容,例如“asdfafasfd ㅁ ㅁ ㅇㄴㅁㄹㅁㄹㄴ”,也许这('\n')是不可读的。

  2. apk、图像文件等。我可以下载,但文件大小为 0k 或 1k。

我怎样才能下载 Tornado Web 服务器的多种文件(图像、apk 等)?

我想举例源代码。请。

4

2 回答 2

4

下面的代码是从龙卷风服务器下载文件,我在我的应用程序中使用它来下载 csv 文件。它可能会帮助你。

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())
于 2013-02-15T07:33:53.517 回答
0

对于二进制文件,你应该这样做:

f = file('test.apk', 'rb')
于 2013-11-03T06:39:02.263 回答