我的前端从后端获取图片相对路径的时候出了些问题。前端写了个 jsp 。定时向后端发送更新请求,然后后端把相应的图片的相对路径发送给前端,因为后端写了个监听器监听并保存发来的图片。后面发现前端加载到 tomcat 里后貌似跟后端的路径就不一样了,前端是 localhost:8080/projectName/...这种,而后端是保存项目的本地文件地址 D:\这种。而 chrome 又不能够(能设置但需求上不许)通过绝对路径访问图片,所以我后端发送给前端的路径没法访问到。这种问题应该如何解决啊。
1
Kinnice 2022-04-11 13:47:41 +08:00 1
1. 后端 把 D:/aaaa/bbbbb/uploads/d.jpg 的 D:/aaaa/bbbbb 去掉,只传 uploads/d.jpg
2. 设置 web 服务器可以访问 uploads/目录,即 http://localhost:8080/uploads => D:/aaaa/bbbbb/uploads |
2
Kinnice 2022-04-11 13:48:25 +08:00
传全路径是安全大忌
|
3
clf 2022-04-11 14:11:14 +08:00
我建议后端弄个文件表,每个文件生成一个 token ,前端用接口调 token 拿。
|
4
chengyiqun 2022-04-11 14:14:53 +08:00
静态资源交给 nginx 得了
|
5
siweipancc 2022-04-11 14:24:08 +08:00 via iPhone
建议上 cdn 授权方案,全路径迟早寄
|
6
chendy 2022-04-11 14:29:02 +08:00
通过绝对路径和相对路径都有风险
建议通过 nginx 访问静态文件 |
7
rabbbit 2022-04-11 14:32:48 +08:00
后端存相对路径,传相对路径。例如:a.jpg
后端出接口 or 配 Nginx(取决于是否需要鉴权), 通过统一的 api 获取文件。例如 example.com/img/a.jpg 怀念上家,获取图片的时候后端就自动帮我拼好了,都不用我拼路径前缀。 |