【web前端】相对路径和绝对路径详解

一、绝对路径

绝对路径:

绝对:真真地存在你电脑上的实际路径。比如你的window系统的C盘下有个ABC文件夹,ABC文件夹下有个file文件。那么绝对路径:C:\ABC\file


二、使用绝对路径的缺点

事实上,在编程时,很少会使用绝对路径,比如你在Window系统上写了个XX系统,需要使用“E:\book\网页布局\1.jpg”来指定背景图片的位置,在自己的计算机上使用绝对路径浏览可能会一切正常,但是将系统代码文件和背景图文件上传到Web服务器(常常是Linux系统,可能不存在C,D,E盘)上部署系统时浏览就很有可能不会显示图片了。因为上传到Web服务器上时,可能整个系统并没有放在Web服务器的E盘,有可能是D盘或H盘。甚至可能web服务器根本就没有E盘,即使放在Web服务器的E盘里,Web服务器的E盘里也不一定会存在“E:\book\网页布局\1.jpg”这个目录,因此在浏览网页时会找不到该背景图,然后不会显示图片。


三、相对路径

为了避免这种情况的发生,通常在网页系统上指定文件时,都会选择使用相对路径。所谓相对路径,就是相对于自己的目标文件位置。例如上面的例子,XX系统里引用了“1.jpg”图片,我们上传系统代码时,将XX系统代码和1.jpg放在同一个文件夹上传到web服务器,由于“1.jpg”图片相对于XX系统代码文件来说,是在同一个目录的,那么要在XX系统的代码文件里使用该1.jpg图后,只要这两个文件的相对位置没有变(也就是说还是在同一个目录内),那么无论上传到Web服务器的哪个位置,在浏览器里都能正确地显示图片。这里XX系统需要使用1.jpg时用的相对路径就为: background = " 1.jpg " 即可

再举一个例子,假设某个系统的“index..html”文件所在目录为“E:\book\网页布局\”,而“bg.jpg”图片所在目录为“E:\book\网页布局\img下”,那么“bg.jpg”图片相对于“index.html”文件来说,是在其所在目录的“img”子目录里,则引用图片的语句应该为:
<body background="img/bg.jpg">
注意:相对路径使用“/”字符作为目录的分隔字符,而绝对路径可以使用“\”或“/”字符作为目录的分隔字符。由于“img”目录是“第2章”目录下的子目录,因此在“img”前不用再加上“/”字符。

四、相对虚拟目录


有关相对路径还有一个比较特殊的表示:“相对虚拟目录”。请看下面的例子:
<body background="/img/bg.jpg">

在这个例子里,background属性的值为“/img/bg.jpg”,注意在“img”前有一个“/”字符。这个“/”代表的是虚拟目录的根目录. 假设把“E:\book\网页布局\”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\book\网页布局\img \bg.jpg”;

如果把“E:\book\网页布局\代码\”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\book\网页布局\代码\\img\bg.jpg”

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端获取上传文件绝对路径的方法可以通过使用layui自带的文件加载方法来实现。具体步骤如下:首先,在前端使用layui的文件加载方法,这将会弹出一个选择文件的界面。然后,将选择的文件名进行重新存储在指定文件夹下,以便进行绝对路径的操作。在后端代码中,可以通过获取前端传来的文件的文件路径来实现。具体代码如下: ``` file_path = request.files.get('file') # 获取前端传来的文件的文件路径 file_paths = file_path.filename # 获取对应路径的文件名 new_fname = r"D:/学科建设/毕业设计/static/file/" + file_paths # 指定文件夹下的新文件名 file_path.save(new_fname) # 将文件保存在指定文件夹下 ``` 这样,你就可以获取上传文件绝对路径了。\[1\] #### 引用[.reference_title] - *1* *3* [html+pyqt获取文件绝对路径](https://blog.csdn.net/weixin_42877778/article/details/116376958)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【web前端相对路径绝对路径详解](https://blog.csdn.net/m0_69538833/article/details/126794414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值