tornado实现文件下载的代码详解编程语言

获取请求参数;请求参数生成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()

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/8238.html

(0)
上一篇 2021年7月18日
下一篇 2021年7月18日

相关推荐

发表回复

登录后才能评论