python 实现图片上传接口开发 并生成可以访问的图片url


Posted in Python onDecember 18, 2019

版本:python3.7

功能,开发一个用户访问的页面,支持图片上传,并将其保存在服务器。

项目结构:

python 实现图片上传接口开发 并生成可以访问的图片url

app.py文件内容如下:

from flask import Flask, Response, request, render_template
from werkzeug.utils import secure_filename
import os
 
app = Flask(__name__)
 
 
# 设置图片保存文件夹
UPLOAD_FOLDER = 'photo'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
 
# 设置允许上传的文件格式
ALLOW_EXTENSIONS = ['png', 'jpg', 'jpeg']
 
 
# 判断文件后缀是否在列表中
def allowed_file(filename):
  return '.' in filename and filename.rsplit('.', 1)[-1] in ALLOW_EXTENSIONS
 
 
# 上传图片
@app.route("/photo/upload", methods=['POST', "GET"])
def uploads():
  if request.method == 'POST':
    # 获取post过来的文件名称,从name=file参数中获取
    file = request.files['file']
    if file and allowed_file(file.filename):
      print(file.filename)
      # secure_filename方法会去掉文件名中的中文
      file_name = secure_filename(file.filename)
      # 保存图片
      file.save(os.path.join(app.config['UPLOAD_FOLDER'], file_name))
      return "success"
    else:
      return "格式错误,请上传jpg格式文件"
  return render_template('index.html')
 
 
# 查看图片
@app.route("/photo/<imageId>.jpg")
def get_frame(imageId):
  # 图片上传保存的路径
  with open(r'C:/Users/Administration/Desktop/photo_ceshi/photo/{}.jpg'.format(imageId), 'rb') as f:
    image = f.read()
    resp = Response(image, mimetype="image/jpg")
    return resp
 
 
if __name__ == "__main__":
  app.run(host='0.0.0.0', port=5000, debug=True)

index.html内容如下:

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
  <meta charset="UTF-8">
  <title>Upload</title>
</head>
<h1>请上传图片文件</h1>
<form action="" method=post enctype=multipart/form-data>
<p><input type=file name=file>
<input type=submit value=Upload>
</form>

启动app.py文件后,我们先访问 http://127.0.0.1:8002/photo/upload

1、页面如下:

python 实现图片上传接口开发 并生成可以访问的图片url

2、我们先上传一张 1001.jpg,提交后界面如下:

python 实现图片上传接口开发 并生成可以访问的图片url

3、然后我们尝试通过图片url来访问这张图片:

python 实现图片上传接口开发 并生成可以访问的图片url

搞定收工!

以上这篇python 实现图片上传接口开发 并生成可以访问的图片url就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中字典dict常用操作方法实例总结
Apr 04 Python
Python中用Spark模块的使用教程
Apr 13 Python
Python利用Nagios增加微信报警通知的功能
Feb 18 Python
Python中类的初始化特殊方法
Dec 01 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
使用python来调用CAN通讯的DLL实现方法
Jul 03 Python
Python 中判断列表是否为空的方法
Nov 24 Python
Python列表切片常用操作实例解析
Mar 10 Python
Python爬取阿拉丁统计信息过程图解
May 12 Python
基于Python实现视频的人脸融合功能
Jun 12 Python
使用tensorflow进行音乐类型的分类
Aug 14 Python
基于Python实现股票收益率分析
Apr 02 Python
Python谱减法语音降噪实例
Dec 18 #Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
Dec 18 #Python
使用python 对验证码图片进行降噪处理
Dec 18 #Python
如何使用Python多线程测试并发漏洞
Dec 18 #Python
Python实现图像去噪方式(中值去噪和均值去噪)
Dec 18 #Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 #Python
Django中使用MySQL5.5的教程
Dec 18 #Python
You might like
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
2014/02/18 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
javascript获得CheckBoxList选中的数量
2009/10/27 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
js 数据类型判断的方法
2020/12/03 Javascript
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
python对字典进行排序实例
2014/09/25 Python
详解Python中的文本处理
2015/04/11 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
python多进程实现文件下载传输功能
2018/07/28 Python
基于python中theano库的线性回归
2018/08/31 Python
Django框架模板介绍
2019/01/15 Python
Python reversed函数及使用方法解析
2020/03/17 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
专业毕业生个性的自我评价
2013/10/03 职场文书
超市客服工作职责
2014/06/11 职场文书
中文专业自荐书
2014/06/29 职场文书