Flask生成下载文件

浏览器访问的时候,如果想让用户下载一个文件,在http response里设置 Content-Disposition = attachment 然后设置filename即可。

下面的代码说明在python flask框架中如何生成一个下载文件。

第一种情况:

后台程序直接生成文件内容

content = "long text"
response = make_response(content)
response.headers["Content-Disposition"] = "attachment; filename=myfilename.txt"
return response

第二种情况:

读取一个服务器上的文件,供用户下载

response = make_response(send_file("myfiles.zip"))
response.headers["Content-Disposition"] = "attachment; filename=myfiles.zip;"
return response
时间: 2024-12-07 19:26:10

Flask生成下载文件的相关文章

.NET两种常见上传下载文件方法

1.FTP模式 代码如下: (1)浏览 /// <summary> /// 浏览文件 /// </summary> /// <param name="tbControl">控件名称</param> private void ViewFile(TextBox tbControl) { OpenFileDialog openFileDialogTemp = new OpenFileDialog();//提示用户打开文件弹窗 //设置文件类型

java生成Ecxel文件及下载(公用)

/** * 上海汽车集团财务有限责任公司 * Copyright (c) 1994-2014 All Rights Reserved. */ package com.saicfc.pmpf.internal.manage.utils; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; i

Java生成Txt文件及下载

package com.saicfc.pmpf.internal.manage.utils; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import com.saicfc.pmpf.common.enums.ChannelCo

PHP 生成.csv 文件并下载到浏览器

最近做了一个项目需要把订单的信息显示出来,并且能够把相关信息放到一个.csv 文件中,下载到浏览器.首先我要说明的是.csv 文件,PHP 有专门的函数去解析该类型的文件,相关函数大家可以去官网查看.注意.csv 文件内容的编码格式是gbk格式的,所以有必要对字符格式进行转码.文件的样式如下. 一.首先要定义header 头 // 输出Excel文件头,可把user.csv换成你要的文件名 header ( 'Content-Type: application/vnd.ms-excel' );

【Flask】下载多个文件

使用zipfile模块可以将多个文件打包成zip文件进行下载,但是常规的操作方式会在服务器磁盘上生成一个zip文件占用磁盘空间. 后引入BytesIO将文件写入到内存中然后下载: 1 def dl_plan(pid): 2 """ 3 下载测试计划关联的测试文件,分单个和多个文件情况(多个文件打包成zip下载). 4 1. 计划只有一个文件则直接下载.xlsx文件 5 2. 计划有多个文件,则打包成zip通过BytesIO直接写入到内存中,不在本地生成.zip文件. 6 :p

Flask log配置,实现按照日期自动生成日志文件

Flask自带了logger模块,用来方便程序员群众记录日志,这里粘贴出来的是一段代码,用来初始化日志各项配置参数,并根据日期自动生成日志文件. #log配置,实现日志自动按日期生成日志文件def make_dir(make_dir_path): path = make_dir_path.strip() if not os.path.exists(path): os.makedirs(path) return pathlog_dir_name = "logs"log_file_name

Js -----后台json数据,前端生成下载text文件

需要引入 <script src="/assets/libs/single_file/jquery.min.js"></script> <script src="/assets/libs/layer/layer.js"></script> 借鉴 张鑫旭文章 http://www.zhangxinxu.com/wordpress/2017/07/js-text-string-download-as-html-json-f

ajax请求不能下载文件(转载)

最近在做文件下载,后台写了个控制层,直接走进去应该就可以下载文件,各种文件图片,excel等 但是起初老是下载失败,并且弹出下面的乱码: 前台请求代码: [html] view plain copy $('#fileexcel').unbind('click').bind('click',function(){ alert("我要下载了"); $.ajax({ type:'post', url:'media', data:null, async:true, success : func

如何用 JavaScript 下载文件

简介 我们知道,下载文件是一个非常常见的需求,但由于浏览器的安全策略的限制,我们通常只能通过一个额外的页面,访问某个文件的 url 来实现下载功能,但是这种用户体验非常不好.幸好,HTML 5 里面为 <a> 标签添加了一个 download 的属性,我们可以轻易的利用它来实现下载功能,再也不需要用以前的笨办法了. 原理 我们先看看 download 的使用方法: <a href="http://somehost/somefile.zip" download=&quo