引用  http://greyli.com/flask-dropzone/


现在需要上传图片文件的页面使用jijin2渲染,由于是使用flask-dropzone的,所以我们使用dropzone的css和js 来进行一个渲染

首先

# 先添加这个 css,js 和样式
{{ dropzone.load_css() }}
{{ dropzone.load_js() }}
{{ dropzone.style('border: 2px dashed #0087F7; margin: 10%') }} # 再用这个指定进行上传的视图函数 在action中指定
{{ dropzone.create(action=url_for("user.upload")) }}

在给个页面上传文件会到指定的函数中去

例子为

@user.route('/upimage/',methods=['GET','POST'])
@login_required
def upload(): if request.method == 'POST':
f = request.files.get('file') # 获取文件对象 # 创建文件夹
basefile = os.path.join(os.path.abspath('static'),'image')
if not os.path.exists(basefile):
os.mkdir(basefile) # 验证后缀
ext = os.path.splitext(f.filename)[1]
if ext.split('.')[-1] not in UPLOAD_IMAGE_TYPE:
return 'Image only!', 400 # 生成文件名  使用uuid模块
filename = get_uuid(ext)
path = os.path.join(basefile,filename)
f.save(path)
    
    # 将文件路径保存到定义的模型中,这里我定义了一个用户类,一个图片路径类,current_user 是flask_login带的当前用户信息
curent_user_tosave_imagepath(current_user,path) return render_template('upload.html')
UPLOAD_IMAGE_TYPE 为自定义类型,不使用dropzone的

# 设置的图片上传 限制后缀
UPLOAD_IMAGE_TYPE = ['JPG','GIF','PNG','png','jpg','gif','JPEG','jpeg'] # 如果有其他需求,比如文本,视频,则可以一样定义
UPLOAD_VIDEO_TYPE = ['MP4','mp4','xxx','xxx','xx','xx','xx','x']
curent_user_tosave_imagepath
curent_user_tosave_imagepath   保存图片路径到数据库

def curent_user_tosave_imagepath(current_user,path):
img = Image()
img.img_path = path
img.user_id = current_user.id try:
db.session.add(img)
db.session.commit()
except:
db.session.rollback()

使用flask-dropzone 上传图片文件的更多相关文章

  1. flask前端上传图片/文件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. php上传图片文件常用的几个方法

    1. 前台 <form class="add-form" method="post" action="/person/save" en ...

  3. [Ajax] 使用Ajax异步上传图片文件(非Form表单提交)

    通过表单Form提交来上传文件的方式这里就不说了: 下面介绍,通过js中使用ajax异步上传图片文件: 新建一个html页面和一个一般处理程序即可: 涉及思路: //发送2次Ajax请求完成js异步上 ...

  4. FLask上传文件

    目录 Flask上传文件 改进上传 上传进度条 一个更简便的方案 Flask上传文件 文件上传的基本原理实际上很简单,基 本上是: 一个带有 enctype=multipart/form-data 的 ...

  5. 利用Spring MVC 上传图片文件

    本文转自:http://amcucn.iteye.com/blog/264457.感谢作者 近日在工作当中,需要用到上传图片的功能,然而自己平时学习的时候只会使用struts的上传功能,但因为项目并没 ...

  6. 小白学flask之静态文件

    引入css的方式有两种 1 那在flask中,如何处理静态文件? 做法很简单,只要在你的包或模块旁边创建一个名为 static 的文件夹就行了. flask的静态文件是位于应用的 /static 中的

  7. html+php上传图片文件到服务器

    html+php上传图片文件到服务器 一.html代码 <body> <form action="" method="post" enctyp ...

  8. ajax上传图片文件

    这里用的是一个隐藏的iframe,这样可以让form表单提交到这个iframe里面,用户就看不到页面的刷新了 前段时间在解决ajax上传文件时折腾了好一阵.直接用$.post上传文本信息肯定是没有问题 ...

  9. Flask笔记:文件上传

    文件上传 enctype:在HTML中的form表单中form标签默认是`enctype="application/x-www-form-urlencoded"`,在文件上传时需要 ...

随机推荐

  1. “大屏,您好!” SONIQ声光揭新品“U•F•O”神秘面纱

    作为全球第一批做互联网智能电视的传媒企业,SONIQ声光于4月22日在中国大饭店举行了盛大的新品发布会.其中的重头戏就是当天发布会上作为先锋部队入驻中国电视市场的"UFO".笔者作 ...

  2. SpringBoot自动配置的原理

    Spring Boot的运行是由注解@EnableAutoConfiguration提供的它的关键功能是@Import注解.        EnableAutoConfigurationImportS ...

  3. NBA球星的生意经 个人流量化之路

    个人流量化之路" title="NBA球星的生意经 个人流量化之路"> 在国人欢天喜地的庆祝新春佳节之时,大洋彼岸也在进行着让全球篮球迷为之"着魔&quo ...

  4. iPhone X会成为苹果最短命的旗舰机型吗?

    最近,有媒体报道有凯基证券分析师郭明琪在他的最新报告指出,iPhone X将在今年中结束生产.因为苹果已计划下半年推出新款iPhone,价格也比iPhone X会低并有新功能发布.所以他预计iPhon ...

  5. BTCU(高校区块链联盟)-联盟链第6讲作业

    // payment project main.go package main import ( "fmt" "strconv" "github.co ...

  6. [Golang]字符串拼接方式的性能分析

    本文100%由本人(Haoxiang Ma)原创,如需转载请注明出处. 本文写于2019/02/16,基于Go 1.11.至于其他版本的Go SDK,如有出入请自行查阅其他资料. Overview 写 ...

  7. Nginx+PHP配置错误,日志:[error] 24324#0: *31 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream

    一.问题现象 1.安装nginx.php.php-fpm后,浏览器访问php报错,“File not found”: 二.问题排查 1.检查nginx.php-fpm服务是否正常启动,均正常启动: 2 ...

  8. 多个计数器在Vuex中的状态

    安装 安装vue-cli npm i -g vue-cli 生成目录 vue init webpack 启动开发环境 npm run dev 启动命令 npm install -g vue-cli v ...

  9. Object.defineProperty注意事项

    Object.defineProperty() 方法设置属性时,属性不能同时声明访问器属性( set 和 get )和 writable 或者 value 属性. 意思就是,某个属性设置了 writa ...

  10. linux sort排序命令的高级用法

    在linux中,使用sort按行进行排序是很简单的.不过有时,生活总是爱抛给你一个一个的问题.如果使用sort按多个列值排列,同时使用tab作为分隔符,而且对于某些列需要进行逆序排列,这样sort命令 ...