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 相关文章推荐
py中的目录与文件判别代码
Jul 16 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
Python编程之微信推送模板消息功能示例
Aug 21 Python
python中数据爬虫requests库使用方法详解
Feb 11 Python
python 字符串和整数的转换方法
Jun 25 Python
kali中python版本的切换方法
Jul 11 Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 Python
python实现智能语音天气预报
Dec 02 Python
Python关于反射的实例代码分享
Feb 20 Python
Python实现转换图片背景颜色代码
Apr 30 Python
利用Vscode进行Python开发环境配置的步骤
Jun 22 Python
详解torch.Tensor的4种乘法
Sep 03 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
Php注入点构造代码
2008/06/14 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
php遍历数组的方法分享
2012/03/22 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
2014/12/24 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
2017/04/13 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
Python random模块用法解析及简单示例
2017/12/18 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
django 多数据库配置教程
2018/05/30 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
Python操作MySQL数据库的方法
2018/06/20 Python
用Python实现读写锁的示例代码
2018/11/05 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
python构建指数平滑预测模型示例
2019/11/21 Python
Python中zip函数如何使用
2020/06/04 Python
python递归函数用法详解
2020/10/26 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
python 实现的车牌识别项目
2021/01/25 Python
Nordgreen台湾官网:极简北欧设计手表
2019/08/21 全球购物
竞聘报告优秀范文
2014/11/06 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL