flask send_file使用

Posted maxiaohei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask send_file使用相关的知识,希望对你有一定的参考价值。

本地服务启动后,客户端访问本地服务器上的静态资源



配置蓝图或路由
from api.local_resource import local_resource
app.register_blueprint(local_resource)

api设计:

local_resource = Blueprint("local_resource", __name__)


class LocalResource(views.MethodView):
"""

"""
def get(self):
res = local_resource_opera.get_local_resource(request)
return res

def post(self):
pass


local_resource.add_url_rule("/local_resource", view_func=LocalResource.as_view(name="get_local_resource"))


编写service,文件获取规则
import settings
import os
from flask import send_file


def get_local_resource(data):
  # 请求参数
file_name = data.args.get("id")
  # 文件夹的名称
file_dir = file_name.split("_")[0][:10]
  # 本地文件的全路径拼接
file_path = os.path.join(settings.UPLOAD_FILE_DIRS, file_dir, file_name)
  # 向api返回(图片)文件
return send_file(file_path)


设置静态资源本地存放路径
settings.UPLOAD_FILE_DIRS
UPLOAD_FILE_DIRS=r"D:\files"


客户端请求方法的设计
<img src="http://192.168.0.190:9527/local_resource?id=2017-12-27_112100.970588_000000002008.jpg" />



前端可以正常访问本地服务器上的静态文件了




以上是关于flask send_file使用的主要内容,如果未能解决你的问题,请参考以下文章

尽管有 200 条消息,flask send_file 仍然失败 [重复]

Flask send_file 返回 200 OK 但不发送文件

flask send_file使用

Python Flask send_file StringIO 空白文件

Flask send_file request

使用Python Flask中的send_file发送视频时移动设备发生错误http://mattspitz.me/2013/11/20/serving-authenticated-media-wit