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" />
前端可以正常访问本地服务器上的静态文件了
LESS IS MORE !