关于前端如何用相对路径获取后端存储的文件的小问题(菜鸟提问)

2022-04-11 13:33:22 +08:00
 xfmaa

我的前端从后端获取图片相对路径的时候出了些问题。前端写了个 jsp 。定时向后端发送更新请求,然后后端把相应的图片的相对路径发送给前端,因为后端写了个监听器监听并保存发来的图片。后面发现前端加载到 tomcat 里后貌似跟后端的路径就不一样了,前端是 localhost:8080/projectName/...这种,而后端是保存项目的本地文件地址 D:\这种。而 chrome 又不能够(能设置但需求上不许)通过绝对路径访问图片,所以我后端发送给前端的路径没法访问到。这种问题应该如何解决啊。

1412 次点击
所在节点    Java
7 条回复
Kinnice
2022-04-11 13:47:41 +08:00
1. 后端 把 D:/aaaa/bbbbb/uploads/d.jpg 的 D:/aaaa/bbbbb 去掉,只传 uploads/d.jpg
2. 设置 web 服务器可以访问 uploads/目录,即 http://localhost:8080/uploads => D:/aaaa/bbbbb/uploads
Kinnice
2022-04-11 13:48:25 +08:00
传全路径是安全大忌
clf
2022-04-11 14:11:14 +08:00
我建议后端弄个文件表,每个文件生成一个 token ,前端用接口调 token 拿。
chengyiqun
2022-04-11 14:14:53 +08:00
静态资源交给 nginx 得了
siweipancc
2022-04-11 14:24:08 +08:00
建议上 cdn 授权方案,全路径迟早寄
chendy
2022-04-11 14:29:02 +08:00
通过绝对路径和相对路径都有风险
建议通过 nginx 访问静态文件
rabbbit
2022-04-11 14:32:48 +08:00
后端存相对路径,传相对路径。例如:a.jpg
后端出接口 or 配 Nginx(取决于是否需要鉴权), 通过统一的 api 获取文件。例如 example.com/img/a.jpg
怀念上家,获取图片的时候后端就自动帮我拼好了,都不用我拼路径前缀。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/846253

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX