V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xfmaa
V2EX  ›  Java

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

  •  
  •   xfmaa · 2022-04-11 13:33:22 +08:00 · 1268 次点击
    这是一个创建于 745 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    7 条回复    2022-04-11 14:32:48 +08:00
    Kinnice
        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
    Kinnice
        2
    Kinnice  
       2022-04-11 13:48:25 +08:00
    传全路径是安全大忌
    clf
        3
    clf  
       2022-04-11 14:11:14 +08:00
    我建议后端弄个文件表,每个文件生成一个 token ,前端用接口调 token 拿。
    chengyiqun
        4
    chengyiqun  
       2022-04-11 14:14:53 +08:00
    静态资源交给 nginx 得了
    siweipancc
        5
    siweipancc  
       2022-04-11 14:24:08 +08:00 via iPhone
    建议上 cdn 授权方案,全路径迟早寄
    chendy
        6
    chendy  
       2022-04-11 14:29:02 +08:00
    通过绝对路径和相对路径都有风险
    建议通过 nginx 访问静态文件
    rabbbit
        7
    rabbbit  
       2022-04-11 14:32:48 +08:00
    后端存相对路径,传相对路径。例如:a.jpg
    后端出接口 or 配 Nginx(取决于是否需要鉴权), 通过统一的 api 获取文件。例如 example.com/img/a.jpg
    怀念上家,获取图片的时候后端就自动帮我拼好了,都不用我拼路径前缀。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5446 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 07:06 · PVG 15:06 · LAX 00:06 · JFK 03:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.