tornado实现文件下载的代码

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

获取请求参数;请求参数生成json格式,存入文件;下载json文件
class SpockDataIntegrationDownloadHandler(tornado.web.RequestHandler):
    def post(self):
        selectname = self.get_argument('selectname')
        json_string = {}
 
        """
        将请求参数放到dict中
        """
          type = self.get_argument('type')
          starttime = self.get_argument('starttime')
          endtime = self.get_argument('end_time')
          json_string['starttime'] = starttime
          json_string['endtime'] = endtime
          json_string['type'] = type
   
        """
        生成json文件
        """
        if json_string:
          filepath = './jsonfile.conf'
          if os.path.exists(filepath):
            os.remove(filepath)
          ff = open(filepath, 'w')
          json.dump(json_string, ff)  # 将json格式数据写入文件
          ff.close()
 
          """
          下载文件
          """
          filename = "jsonfile.conf"
          self.set_header ('Content-Type', 'application/octet-stream')
          self.set_header ('Content-Disposition', 'attachment; filename=' + filename)
          buf_size = 4096
          with open(os.path.join('',filepath), 'rb') as f:
            while True:
              data = f.read(buf_size)
              if not data:
                break
              self.write(data)
          self.finish()