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实现监控linux性能及进程消耗性能的方法
Jul 25 Python
使用Python的Tornado框架实现一个Web端图书展示页面
Jul 11 Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
应用OpenCV和Python进行SIFT算法的实现详解
Aug 21 Python
Python 脚本实现淘宝准点秒杀功能
Nov 13 Python
Python 类的魔法属性用法实例分析
Nov 21 Python
pycharm 激活码及使用方式的详细教程
May 12 Python
关于tf.matmul() 和tf.multiply() 的区别说明
Jun 18 Python
python 装饰器的实际作用有哪些
Sep 07 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
Dec 07 Python
Python图片检索之以图搜图
May 31 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中几种常见的超时处理全面总结
2012/09/11 PHP
php实现在限定区域里自动调整字体大小的类实例
2015/04/02 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
jstl中判断list中是否包含某个值的简单方法
2016/10/14 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
详解vue2.0模拟后台json数据
2019/05/16 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
Python制作爬虫采集小说
2015/10/25 Python
python Celery定时任务的示例
2018/03/13 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
通过实例解析python描述符原理作用
2020/01/22 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
求职者应聘的自我评价
2013/10/16 职场文书
老师的检讨书
2014/02/23 职场文书
实习生评语
2014/04/26 职场文书
雷锋观后感
2015/06/10 职场文书
员工试用期工作总结
2019/06/20 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书
详解在OpenCV中如何使用图像像素
2022/03/03 Python