flask保存 文件到本地
本篇队长介绍一下如何 把前端上传的文件保存 到 后端flask项目目录
首先讲一下上传、保存文件的思路:
第一步:前端通过post请求方式提交上传的文件
第二步: 后端flask通过 request.files['fileName'] 获取文件对象
f = request.files['fileName']
第三步:指定要保存的文件夹的绝对路径 (此案例把上传文件放到task_files文件夹内)
UPLOAD_FOLDER = 'app/controls/task_mgm/task_files'
file_dir = os.path.join(os.getcwd(), UPLOAD_FOLDER)
第四步:分别 保存文件路径到本地 和数据库以便查询
file_path = os.path.join(file_dir, f.filename)
f.save(file_path)
task.fileName = f.filename
代码Demo
@duty_mgm.route('/upload', methods=['POST'])
@login_required
def upload():
# 保存上传的文档
UPLOAD_FOLDER = 'app/controls/task_mgm/task_files'
file_dir = os.path.join(os.getcwd(), UPLOAD_FOLDER)
if not os.path.exists(file_dir):
os.makedirs(file_dir)
f =request.file.get('fileName') # 获取上传的文档对象
if f:
file_path = os.path.join(file_dir, f.filename) # filename是f的固有属性
f.save(file_path) # 保存到指定目录
task.fileName = f.filename # 保存到数据库
try:
db.session.add(task)
db.session.commit()
except Exception as e:
flash('添加失败')
flash('添加成功')
return render_template('/task_mgm/taskinfo_add.html', form=form, header=header) # 返回到文件上传页面
ALLOWED_EXTENSIONS = set(['txt', 'png', 'jpg', 'xls', 'JPG', 'PNG', 'xlsx', 'gif', 'GIF', 'ppt', 'pptx', 'doc', 'docx', 'csv', 'sql', 'py'])
# 用于判断文件后缀,可调用
def allowed_file(filename):
return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
flask保存 文件到本地的更多相关文章
- php中关于js保存文件至本地的问题
最近在搞一个livezilla的在线客服聊天的东东,客户界面要求添加一个下载聊天记录的功能.于是我就是翻看了下网上的各种关于”js保存文件至本地“的资料,发现只能在IE下通过execCommand实现 ...
- c# 通过地址下载流然后保存文件到本地
1.下载文件并保存文件到本地 private void GetFileFromNetUrl(string url) { try { System.Net.WebRequest req = System ...
- flask 保存文件到 七牛云
上篇文章队长讲述了如何把前端上传的文件保存到本地项目目录 本篇 讲述一下把前端上传的文件保存到 第三方存储(七牛云) 七牛云相关步骤思路: 首先 进去七牛云官网,注册并实名认证来获取一个七牛云账号和存 ...
- jQuery或者js保存文件到本地
一: // 浏览文件夹(指定文件路径) function BrowseFolder() { try { var Message = "Please select the folder pat ...
- java导出excel并且压缩成zip上传到oss,并下载,使用字节流去存储,不用文件流保存文件到本地
最近项目上要求实现导出excel并根据条数做分割,然后将分割后的多个excel打包成压缩包上传到oss服务器上,然后提供下载方法,具体代码如下:这里只展示部分代码,获取数据的代码就不展示了 ByteA ...
- [JavaScript] js实现保存文件到本地
function fake_click(obj) { var ev = document.createEvent("MouseEvents"); ev.initMouseEvent ...
- JavaScript写入文件到本地
工作中有时需要通过 JavaScript 保存文件到本地,我们都知道 JavaScript 基于安全的考虑,是不允许直接操作本地文件的.IE 可以通过 VB 插件的方式进行,而 Chrome 和 fi ...
- 从 FTP 服务器上下载并保存文件
本例演示如何运用 C# 中的 FtpWebRequest 等对象从 FTP 服务器上获取文件,并结合 Stream 对象中的方法来保存下载的文件: using System; using System ...
- Flask保存或解压上传的文件
import os import uuid import shutil import zipfile from flask import Flask, render_template, request ...
随机推荐
- maven install 错误
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-c ...
- javascript之传输加密
为什么要使用javascript加密呢?服务端加密远远不够,客户端或者浏览器端也需要加密,以此保证传输信息过程的安全. 今天就我工作中说说这么几种加密算法及其对应的应用场景,如下所示: base64 ...
- ASP.NET Core MVC – Tag Helpers 介绍
ASP.NET Core Tag Helpers系列目录,这是第一篇,共五篇: ASP.NET Core MVC – Tag Helpers 介绍 ASP.NET Core MVC – Caching ...
- Jenkins集成openshift容器中进行代码扫描
1.Dockerfile sonarDockerfile: (基础slave镜像参考上篇博文) FROM registry.it.com/openshift/jenkins-slave:latest ...
- BZOJ1064 NOI2008 假面舞会 图论
传送门 将一组关系\((A,B)\)之间连一条边,那么显然如果图中存在环长为\(len\)的环,那么面具的种数一定是\(len\)的因数. 值得注意的是这里环的关系除了\(A \rightarrow ...
- Spring+SpringMVC+Mybatis框架整合流程
一:基本步骤 新建Maven项目,导入相关依赖.(推荐) ————–Mybatis配置 —————- 新建entity包,并根据数据库(表)新建相关实体类. 新建dao包,并根据业务创建必要的mapp ...
- .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中
不知你是否见过 try { } finally { } 代码中,try 块留空,而只往 finally 中写代码的情况呢?这种写法有其特殊的目的. 本文就来说说这种不一样的写法. 你可以点开这个链接查 ...
- 三、临时弹出一个QQ对话窗口
第一种:需要添加好友才可以访问 <a href="http://wpa.qq.com/msgrd?v=3&uin=317985559&site=qq&menu= ...
- 295B - Greg and Graph (floyd逆序处理)
题意:给出任意两点之间的距离,然后逐个删除这些点和与点相连的边,问,在每次删除前的所有点对的最短距离之和 分析:首先想到的是floyd,但是如果从前往后处理,复杂度是(500)^4,超时,我们从后往前 ...
- MySQLl导入导出SQL文件
window 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql ...