假设有一个场景服务器会生成12张图片图片分三种类型为psdjpgpng每种类型4张图片且会一一对应比如apsdajpgapng 对应是同一张图片只是图片类型不一样显示给前端的时候只显示png类型的4张图片当用户选择下载类型为psd选择png的某一张图片或者多张图片下载下来的图片为对应的psd图片呢这个可以需要考虑将生成的图片村表然后前端传参图片类型和图片id或者图片其他依据后端给出下载使用flas
以下是使用Flask编写的一个示例接口:
from flask import Flask, request, send_file
import os
app = Flask(__name__)
# 设置图片存储路径
image_folder = '/path/to/image/folder'
@app.route('/download', methods=['GET'])
def download_image():
image_id = request.args.get('id') # 获取图片id
image_type = request.args.get('type') # 获取图片类型
# 根据图片id和类型生成文件名
filename = f'{image_id}.{image_type}'
# 拼接图片的完整路径
image_path = os.path.join(image_folder, filename)
# 检查图片是否存在
if not os.path.exists(image_path):
return 'Image not found', 404
# 设置下载文件的MIME类型
if image_type == 'psd':
mimetype = 'application/octet-stream'
else:
mimetype = 'image/' + image_type
# 发送文件给前端进行下载
return send_file(image_path, mimetype=mimetype, as_attachment=True)
if __name__ == '__main__':
app.run()
在这个示例中,我们通过GET请求访问/download接口,并传递图片的id和type参数来请求下载。根据参数生成图片的文件名,然后检查文件是否存在。如果存在,根据图片类型设置适当的MIME类型,并使用send_file函数将文件发送给前端进行下载。
请注意,这只是一个简单的示例,你可能需要根据实际情况进行适当的修改和扩展。另外,你还需要自己实现生成图片的逻辑和将生成的图片保存到指定路径的代码
原文地址: https://www.cveoy.top/t/topic/ijHL 著作权归作者所有。请勿转载和采集!