1.flask
from flask import Flask
from flask import send_file
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello World'
# @app.route('/getPlotCSV', methods = ['GET'])
# def plotCSV():
# data = open("./tudii.csv")
@app.route('/getPlotCSV') # this is a job for GET, not POST
def plot_csv():
return send_file('./tudii.csv',
mimetype='text/csv',
attachment_filename='Adjacency.csv',
as_attachment=True)
2.Tornado
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
filename = self.get_argument('filename')
print(filename)
# print(type(filename))
filenamee = filename+"export.csv"
# print(filenames)
# http头 浏览器自动识别为文件下载
self.set_header('Content-Type', 'application/octet-stream')
# 下载时显示的文件名称
self.set_header('Content-Disposition', 'attachment; filename=%s' % filenamee)
with open("./channel_compare_tabledemo/all_csv/"+filenamee, 'rb') as f:
while True:
data = f.read(4096)
if not data:
break
self.write(data)
# # 记得有finish哦
self.finish()
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()