在Flask中上传本地图片到服务器
方式一:存储到网站服务器
1、上传的图片属于二进制的文件类型:使用上传的范式就是一个inpu
t标签,文件类型为file:
<input name="file" type="file" onchange="this.parentNode.submit()">
2、上传的图片为了防止在网站中注入信息,一般不会保留原图片的文件名,而是随机生成一个文件名,使用的模块就是UUID,而后缀名是需要保留的,可以事先设置好一个允许上传的文件的后缀名集合:
ALLOWED_EXT=set(['png','jpg','jpeg','pdf','txt','gif'])
3、保存到服务器,同时将图片的路径存入数据库
@app.route('/upload/', methods={"post"}) # 图片上传使用的方法都是使用post方法的
@login_required # 需要登录之后才能上传照片
def upload():# print(type(request.files)) # ImmutableMultiDict包含的是所有上传文件的一些基本信息file = request.files['file'] # http请求是可以通过多文件上传的# dir(file) # 可以使用这个函数对文件的一些方法进行列举# https://werkzeug-docs-cn.readthedocs.io/zh_CN/latest/# 需要对文件进行裁剪等操作file_ext = ''if file.filename.find('.') > 0:# 截取上传的图片的后缀名rsplit找右侧的第一个.,设置成为新图片的后缀名file_ext = file.filename.rsplit('.', 1)[1].strip().lower()if file_ext in app.config['ALLOWED_EXT']:file_name = str(uuid.uuid1()).replace('-', '') + '.' + file_ext# print(file_name)# 保存到本地url = save_to_local(file, file_name)# url = qiniu_upload_file(file, file_name)if url != None:# 如果URL不空,保存链接地址和当前用户的iddb.session.add(Image(url, current_user.id))db.session.commit()return redirect('/profile/%d' % current_user.id)
方式二:存储到云服务器
目前比较好的有阿里云、腾讯云等的,七牛云也是可以的(个人用户可以有免费限定的空间和流量),可以百度一下开发者API。
本文的代码和项目URL为:
https://github.com/too-hoo/myinstagram/tree/master/myinstagram
在Flask中上传本地图片到服务器相关推荐
- php 上传本地图片到服务器上,PHP如何将图片文件上传到另外一台服务器上
说,我有一个需求,就是一个临时功能.由于工作开发问题,我们有一个B项目,需要有一个商品添加的功能,涉及到添加商品内容,比如商品名字,商品描述,商品库存,商品图片等.后台商品添加的接口已经写完了,但是问 ...
- java中上传本地图片
如果你想上传多张图片:http://blog.csdn.net/xuanzhangran/article/details/54929988 如果是上传单张如下: 点击上传图片按钮,上传本地 效果如图: ...
- android上传本地图片到服务器上,Android使用post方式上传图片到服务器的方法
本文实例讲述了Android使用post方式上传图片到服务器的方法.分享给大家供大家参考,具体如下: /** * 上传文件到服务器类 * * @author tom */ public class U ...
- 关于富文本kindeditor中上传本地图片成功后获取到的图片路径是相对路径修改为绝对路径...
找到kindeditor插件kindeditor-all.js,找到urltype的设置, K.options = {designMode : true,fullscreenMode : false, ...
- kindeditor上传本地图片的问题
终于给我发现kindeditor上传本地图片时,为什么出现服务器错误 原来demo.jsp里的: KE.show({ id : 'content1', imageUploadJson : '../.. ...
- element-tiptap富文本编辑器,上传本地图片
因为通过富文本编辑器上传本地图片,都会直接转成base64格式的,我们可以先上传到服务器,再从服务器返回的URL拿到给富文本框展示(引入我就不说了,直接看我上篇文章有说到过) data () {// ...
- php上传图片代码编辑,simditor上传本地图片 php
网上有很多simditor这个编辑器的文档,但是大多是重复的,并且php做服务端的也很少.最近做了一个上传功能,研究了一下,跟大家分享一下. 首先 说一下逻辑,理解好了逻辑,才能更好的理解代码. 点击 ...
- 微信公众号开发《四》调用微信JS-SDK实现上传手机图片到服务器
在这粘贴上三篇博文链接,方便大家查阅互相学习: 微信公众号开发<一>OAuth2.0网页授权认证获取用户的详细信息,实现自动登陆 微信公众号开发<二>发送模板消息实现消息业务实 ...
- 一行js_Node.js 一行命令上传本地文件到服务器
每次打包完, 都要打开 FileZilla 一顿拖拽然后才能上传代码, 那就立马撸一个自动化脚本就完事了 publish-sftp Github 传送门(~~~~顺便来骗个Star~~~~) 以后一行 ...
- tinymce4.x 上传本地图片(自己写个插件)
tinymce是一款挺不错的html文本编辑器.但是添加图片是直接添加链接,不能直接选择本地图片. 下面我写了一个插件用于直接上传本地图片. 在tinymce的plugins目录下新建一个upload ...
最新文章
- 千万级并发!如何设计一个多级缓存系统?
- 案例代码:sprimngboot备份数据库
- js文件 import java类_实现JS脚本导入JAVA类包
- golang反编译_【Golang】脱胎换骨的defer(一)
- win7创建虚拟无线网络
- 全排列及相关扩展算法(二)——求字典序下一组排列及全排列算法
- 基于JAVA+SpringMVC+Mybatis+MYSQL的课程教学辅助系统
- PureFtp的安装与配置
- 【毕业设计】基于Java的五子棋游戏的设计(源代码+论文)
- 【渝粤教育】电大中专学习指南 (2)作业 题库
- Atitit 图片压缩功能 attilax艾提拉总结 缩略图功能 小于一定分辨率不压缩,防止小图放大 Resize图片缩小 图像质量参数 等比压缩 Gm的事业使用 1.更改当前目录下*
- DIADEM_metric不能运行及解决办法
- xampp mysql3306_xmapp_mysql端口冲突解决---Port 3306 in use by......
- HTTP 405 错误 – 方法不被允许 (Method not allowed)
- 高跟鞋,五角星与黄金分割比
- 嵌入式Flash设备的文件系统:jffs/jfss2和yasffs/yasffs2
- HBA卡,HCA卡,IB卡,以太网卡,万兆网卡
- 开题报告:基于java医院在线预约挂号系统 毕业设计论文开题报告模板
- MySQL数据库的存储引擎
- 秦曾昌人工智能课程---3、机器学习中的哲学