python3 flask实现文件上传功能


Posted in Python onMarch 20, 2020

本文实例为大家分享了python3-flask文件上传操作的具体代码,供大家参考,具体内容如下

# -*- coding: utf-8 -*-
import os
import uuid
import platform
from flask import Flask,request,redirect,url_for
from werkzeug.utils import secure_filename

if platform.system() == "Windows":
 slash = '\\'
else:
 platform.system()=="Linux"
 slash = '/'
UPLOAD_FOLDER = 'upload'
ALLOW_EXTENSIONS = set(['html', 'htm', 'doc', 'docx', 'mht', 'pdf'])
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
#判断文件夹是否存在,如果不存在则创建
if not os.path.exists(UPLOAD_FOLDER):
 os.makedirs(UPLOAD_FOLDER)
else:
 pass
# 判断文件后缀是否在列表中
def allowed_file(filename):
 return '.' in filename and \
   filename.rsplit('.', 1)[1] in ALLOW_EXTENSIONS

@app.route('/',methods=['GET','POST'])
def upload_file():
 if request.method =='POST':
  #获取post过来的文件名称,从name=file参数中获取
  file = request.files['file']
  if file and allowed_file(file.filename):
   # secure_filename方法会去掉文件名中的中文
   filename = secure_filename(file.filename)
   #因为上次的文件可能有重名,因此使用uuid保存文件
   file_name = str(uuid.uuid4()) + '.' + filename.rsplit('.', 1)[1]
   file.save(os.path.join(app.config['UPLOAD_FOLDER'],file_name))
   base_path = os.getcwd()
   file_path = base_path + slash + app.config['UPLOAD_FOLDER'] + slash + file_name
   print(file_path)
   return redirect(url_for('upload_file',filename = file_name))
 return '''
 <!doctype html>
 <title>Upload new File</title>
 <h1>Upload new File</h1>
 <form action="" method=post enctype=multipart/form-data>
  <p><input type=file name=file>
   <input type=submit value=Upload>
 </form>
 '''
if __name__ == "__main__":
 app.run(host='0.0.0.0',port=5000)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python冒泡排序简单实现方法
Jul 09 Python
pycharm安装图文教程
May 02 Python
Python使用django框架实现多人在线匿名聊天的小程序
Nov 29 Python
python 将list转成字符串,中间用符号分隔的方法
Oct 23 Python
详解如何为eclipse安装合适版本的python插件pydev
Nov 04 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
Jul 22 Python
Python模块汇总(常用第三方库)
Oct 07 Python
基于Python解密仿射密码
Oct 21 Python
基于matplotlib xticks用法详解
Apr 16 Python
python实现股票历史数据可视化分析案例
Jun 10 Python
Python&Matlab实现樱花的绘制
Apr 07 Python
Python爬取qq空间说说的实例代码
Aug 17 #Python
django进阶之cookie和session的使用示例
Aug 17 #Python
Django 登陆验证码和中间件的实现
Aug 17 #Python
python读取Excel实例详解
Aug 17 #Python
python框架中flask知识点总结
Aug 17 #Python
Flask Web开发入门之文件上传(八)
Aug 17 #Python
python操作excel的方法
Aug 16 #Python
You might like
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
php生成zip压缩文件的方法详解
2013/06/09 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
JS删除数组元素的函数介绍
2013/03/27 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
python实现将json多行数据传入到mysql中使用
2019/12/31 Python
AUC计算方法与Python实现代码
2020/02/28 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
中职生自我鉴定范文
2013/10/03 职场文书
业务员岗位职责范本
2013/12/15 职场文书
争论的故事教学反思
2014/02/06 职场文书
大学班级文化建设方案
2014/05/06 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
庆七一活动总结
2014/08/27 职场文书
幼儿园六一主持词
2015/06/30 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
素质教育培训心得体会
2016/01/19 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python
Python pyecharts绘制条形图详解
2022/04/02 Python