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利用elaphe制作二维条形码实现代码
May 25 Python
解析Python中的异常处理
Apr 28 Python
Python功能键的读取方法
May 28 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
谈谈python中GUI的选择
Mar 01 Python
Python 学习教程之networkx
Apr 15 Python
机器学习实战之knn算法pandas
Jun 22 Python
python paramiko远程服务器终端操作过程解析
Dec 14 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
Mar 09 Python
实现Python3数组旋转的3种算法实例
Sep 16 Python
基于tensorflow权重文件的解读
May 26 Python
Python中字符串对象语法分享
Feb 24 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/01 无线电
Memcache 在PHP中的使用技巧
2010/02/08 PHP
php无限极分类实现的两种解决方法
2013/04/28 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
微信小程序 scroll-view实现锚点滑动的示例
2017/12/06 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
[47:53]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#2COL VS Spirit
2016/03/02 DOTA
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python字符串格式化输出方法分析
2016/04/13 Python
Python数据操作方法封装类实例
2017/06/23 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
kali中python版本的切换方法
2019/07/11 Python
Python list与NumPy array 区分详解
2019/11/06 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
python函数enumerate,operator和Counter使用技巧实例小结
2020/02/22 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
机电工程学生自荐信范文
2013/12/07 职场文书
《雷雨》教学反思
2014/02/20 职场文书
殡葬服务心得体会
2014/09/11 职场文书
转让协议书范本
2014/09/13 职场文书
被告代理词范文
2015/05/25 职场文书