项目运行后,发现前端访问图片报错
flask后台代码
@storage.route('/photo/<string:filename>', methods=('GET',))
@login_validate()
def photo(filename: str):
"""预览图片"""
filename = path.split(filename)[-1]
if not path.exists(path.join(UPLOAD_DIR, filename)):
return abort(404)
resp = Response()
resp.headers['X-Accel-Redirect'] = '/photos/{}'.format(filename)
return resp
nginx配置文件中,静态文件的配置如下:
...
location /photos {
internal;
alias /home/data/myapp/upload; #图片的目录
}
...
重启nginx容器
# 停止nginx容器
docker stop nginx
# 删除nginx容器
docker rm -f nginx
# 再次启动nginx容器
docker run --name nginx
-p 80:80
--restart=always
-v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro #配置文件
-v /var/log/nginx:/var/log/nginx #日志
-v /var/http/dist:/usr/share/nginx #静态资源
-v /home/data/myapp/upload:/home/data/myapp/upload #新加入的静态资源配置
-d nginx
参考文章:https://blog.csdn.net/weixin_42880943/article/details/100777093