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 相关文章推荐
pyv8学习python和javascript变量进行交互
Dec 04 Python
python中的对象拷贝示例 python引用传递
Jan 23 Python
python中使用pyhook实现键盘监控的例子
Jul 18 Python
python获取远程图片大小和尺寸的方法
Mar 26 Python
在Python中处理XML的教程
Apr 29 Python
快速了解Python中的装饰器
Jan 11 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
Python制作exe文件简单流程
Jan 24 Python
Python中PyQt5/PySide2的按钮控件使用实例
Aug 17 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
Feb 28 Python
Python threading.local代码实例及原理解析
Mar 16 Python
Python虚拟环境virtualenv创建及使用过程图解
Dec 08 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
改造一台复古桌面收音机
2021/03/02 无线电
PHP实现多条件查询实例代码
2010/07/17 PHP
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
PHP入门之常量简介和系统常量
2014/05/12 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
PHP实现倒计时功能
2020/11/16 PHP
jquery和javascript的区别(常用方法比较)
2013/07/04 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
js获取Get值的方法
2016/09/29 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
vue+elementUI动态生成面包屑导航教程
2019/11/04 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
vue中实现点击变成全屏的多种方法
2020/09/27 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
python函数缺省值与引用学习笔记分享
2013/02/10 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
四年级下册教学反思
2014/02/01 职场文书
合作投资意向书
2014/04/01 职场文书
实习指导老师评语
2014/04/26 职场文书
房展策划方案
2014/06/07 职场文书
致运动员赞词
2015/07/22 职场文书
python实现监听键盘
2021/04/26 Python
python tkinter Entry控件的焦点移动操作
2021/05/22 Python