文章目录

  • 1.测试结果:
  • 2.主文件main.py:
  • 3.显示错误页面404.html文件:
  • 4.文件上传界面upload_Files.html:

1.测试结果:



如果上传的文件格式不符合要求的,则显示错误页面:

2.主文件main.py:

import os
import sys
from flask_wtf import FlaskForm
from werkzeug.utils import secure_filename
from flask_uploads import UploadSet,IMAGES
from flask_wtf.file import FileField,FileAllowed,FileRequired
from flask import Flask,render_template,redirect,url_for,abort,request,jsonify,flashapp=Flask(__name__)
app.secret_key='UploadFiles'
#自定义错误
@app.errorhandler(404)
def handel_error(error):return render_template('404.html'),404class UploadForm(FlaskForm):#能够很好地和 Flask-Uploads 一起协同工作upload_file=FileField(label='image',validators=[FileRequired(),#只上传.png,.jpg格式图像FileAllowed(upload_set=['jpg','png'],message='Images only!')])@app.route('/login',methods=['POST','GET'])
def login():upload_files=UploadForm()if request.method=='POST':if upload_files.validate_on_submit():#secure_filename对上传的文件进行安全检测filename=secure_filename(upload_files.upload_file.data.filename)upload_files.upload_file.data.save('uploadFiles/'+filename)print('type: {}'.format(type(filename)))print('filename: {}'.format(filename))return jsonify('Upload Successed!')else:abort(404)if request.method=='GET':return render_template('upload_file.html',upload_files=upload_files)@app.route('/index',methods=['POST','GET'])
def index():return jsonify('Start!')if __name__ == '__main__':print('Pycharm')app.run(debug=True)

3.显示错误页面404.html文件:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>404</title><style>img {width:1500px;height:700px;}</style>
</head>
<body><img src="http://127.0.0.1:5000/static/404.png">
</body>
</html>

4.文件上传界面upload_Files.html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Upload_File</title>
</head>
<body><form action="http://127.0.0.1:5000/login" method="POST" enctype="multipart/form-data">{{upload_files.csrf_token()}}{{upload_files.upload_file.label}}: {{upload_files.upload_file}}<br><input type="submit" name="submit" value="上传文件"></form>
</body>
</html>

flask中的flask_uploads上传文件相关推荐

  1. flask中使用FileField上传文件的两种方式+前端页面上传文件(flask三种上传文件方式)

    文章目录 上传文件方式一: 1.index.html文件: 2.主文件main.py: 上传文件方式二: 1.index2.html文件: 2.main.py文件: 上传文件方式三: 1.index3 ...

  2. ajax上传 java,javaWeb中使用ajax上传文件

    javaWeb上传图片 上传文件所必要的两个jar包:commons-fileupload.jar.commons-io.jar. 核心代码: String withPath = req.getSer ...

  3. android项目中使用的服务器上,android 开发中使用okhttp上传文件到服务器

    开发android手机客户端,常常会需要上传文件到服务器,比如:你手机里的照片. 使用okhttp会是一个很好的选择.它使用很简单,而且运行效率也很高. 首先,在 app/build.gradle 的 ...

  4. php curl文件上传,在 php 中通过 CURL 上传文件

    1.使用 CURL 默认的方法$file = realpath('gif/1.gif'); //要上传的文件 $fields['f'] = '@'.$file; $ch = curl_init(); ...

  5. html文件上传数量限制,使用HTML中的input上传文件最多可以上传多少张?

    问题描述 我使用flask作为web框架搭建了一个小网站,在网站里我基于bootstrap-fileinput实现了文件上传的功能,在上传文件的时候发现最多只能上传1212张,但是我的需求是要能一次上 ...

  6. ElementUI中el-upload中怎样限制上传文件的格式

    场景 使用el-upload上传文件时限制只能上传指定格式的文件. 比如这里只允许上传apk格式的文件. 注: 博客: https://blog.csdn.net/badao_liumang_qizh ...

  7. java string 包含http_Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件)...

    一.HttpPost上传文件 public static String getSuffix(final MultipartFile file){ if(file == null || file.get ...

  8. 使用Jquery中ajax实现上传文件

    html: <input type="file" name="uploadFile" id="uploadFile"> jq: ...

  9. javaweb中运用fileupload上传文件

    本文是介绍javaweb开发运用Apache中的commons fileupload的commons io的工具来进行文件上传,在开发中会遇到很多比较棘手的问题,本人接触后进行了总结. 开发准备: 去 ...

最新文章

  1. ruby中取反的问题
  2. 03系统多界面_领克03+冠军版定制版车联系统全网首测,性能+智能它都给你
  3. 如何实现更换Jupyter Notebook内核Python版本
  4. LeetCode 743. Network Delay Time
  5. Python itertools库详细教程
  6. Android插件化原理解析——Hook机制之Binder Hook
  7. android Formatter 的使用
  8. mysql da_DA面板如何管理Mysql数据库?
  9. 手机客户端测试考虑的点
  10. ui项目答辩中学到了什么_我在UI设计9年中学到的12件事
  11. mfc中UpdateData的用法
  12. hnu 暑期实训之蛇形矩阵
  13. JQ实现全选、全不选、反选、偶数选中、奇数选中
  14. 9-11NOIP模拟赛总结
  15. 分布式文件系统FastDFS看这一篇就够了(文件上传下载、单机部署及集群部署)
  16. libjpeg实现YUV转jpeg
  17. 2021中国工业软件上市企业公司排行2021中国智能制造企业排名
  18. 【脚本】网页端微信读书书架中书籍详细信息
  19. properties文件读取
  20. 修改计算机用户名bat,修改计算机名.bat

热门文章

  1. flask源码学习-路由的注册与请求处理的过程
  2. 美多商城之用户登录(账号登录)
  3. 子网掩码 以及 子网数为什么减去全0和全1
  4. 仅为方便自己记忆一些滤波器【仅为考试】
  5. 从零开始一起学习SLAM | SLAM有什么用?
  6. 用OpenCV实现页面扭曲矫正
  7. 自动驾驶中的3D物体状态检测
  8. Batch Normalization应该放在ReLU非线性激活层的前面还是后面?
  9. IntelliJ IDEA 最常用配置,应用、永久激活
  10. 【Linux】备份与压缩命令命令