代码:
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 方法
详细解释:
- filename 是你保存的图片的名称
- 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/图片名字