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" />



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




posted @ 2017-12-27 21:03  mlj0503  阅读(17478)  评论(0编辑  收藏  举报