需要使用from flask import send_from_directory, send_file来发送图片。

以下是一个使用Flask和Flask-Smorest编写的示例代码,可以将指定目录下的所有图片文件返回给前端展示:

from flask import Flask, send_from_directory, send_file
from flask_smorest import Api, Blueprint
from flask.views import MethodView
import os

app = Flask(__name__)
api = Api(app)

bp = Blueprint(
    'images',
    __name__,
    url_prefix='/images',
    description='Image operations'
)

@api.route(bp, '/<string:filename>')
class ImageView(MethodView):
    @bp.response(200, 'Success')
    def get(self, filename):
        image_path = os.path.join('path_to_images_directory', filename)
        if os.path.isfile(image_path):
            return send_file(image_path, mimetype='image/jpeg')
        else:
            return {'message': 'Image not found'}, 404

app.register_blueprint(bp)

if __name__ == '__main__':
    app.run()

在上面的代码中,path_to_images_directory需要替换为你存放图片文件的实际目录。接口的URL规则为/images/<filename>,通过GET请求访问该接口,将会返回指定文件名的图片文件。若图片文件不存在,则返回404状态码和一个错误消息。

注意:这里使用的是send_file函数来发送图片,而不是send_from_directory。因为send_file可以从任意位置发送文件,而send_from_directory只能从指定目录发送文件。所以,如果你希望通过URL直接访问图片文件,可以使用send_file函数。如果想通过send_from_directory发送图片文件,可以将图片目录设置为静态目录,然后通过send_from_directory来处理静态文件的访问

使用from flask_smorest import Blueprintfrom flaskviews import MethodView写一个接口将文件下所有图片返回给前端展示出来需不需要使用from flask import send_from_directory send_file包来发送图片呢代码实现

原文地址: https://www.cveoy.top/t/topic/iiJY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录