使用Python将图片封装使其可以在浏览器访问

代码:

from flask import Flask, request, send_file, abort


IMG_DIR = os.path.join(DIR,"static","image")

@server.route('/data/image/<filename>')
def get_image(filename):
    image_path = os.path.join(IMG_DIR, filename)
    if not os.path.isfile(image_path):
        abort(404)
    return send_file(image_path, mimetype='video/mp4' if '.mp4' in str(filename) else 'image/jpeg')

上述代码主要使用的是 flask 框架自带的 send_file 方法

详细解释:

  1. filename 是你保存的图片的名称
  2. os.path.join(IMG_DIR, filename) 是拼接路径
    当中的 IMG_DIR 在之前也已经定义好了
    在这里插入图片描述
    可以看到join方法中有两个参数 就是模拟拼接路径
    在这里插入图片描述
    3.os.path.isfile(image_path) 此方法是用来检查文件是否在路径中
    在这里插入图片描述
    这个条件判断说明 如果你的文件不在上面设置的文件夹中 就报错 404

end_file() 是 Flask 提供的一个函数,用于发送文件作为 HTTP 响应

mimetype 是 send_file() 函数的一个参数,用于指定文件的 MIME 类型。

如果文件名包含 .mp4,则 mimetype 被设置为 'video/mp4'

如果文件名不包含 .mp4,则 mimetype 被设置为 'image/jpeg'

最终将图片放入上面所说的 static/image 中

查看图片:

在这里插入图片描述
后端启动的 IP 地址 加上接口 写的 data/image/图片名字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值