表格中嵌入的图片无法加载,但浏览器直接访问该图片正常的技术问询
解决HTML表格中图片无法加载的问题
首先,我一眼就发现你代码里的图片路径大概率是核心问题——你用了服务器本地的绝对路径 /var/www/html/Pro... 作为<img>的src属性,这在浏览器里完全行不通!
浏览器是从客户端向服务器请求资源的,它根本不知道服务器上的/var/www/html这个本地目录,你得用网站根目录相对的URL路径才行。举个实际例子:
- 如果你的网站根目录就是
/var/www/html,那图片的src应该写成/Pro...(直接去掉前面的/var/www/html/前缀) - 要是图片存在
/var/www/html/uploads/文件夹下,那src就该是/uploads/xxx.jpg
接下来,再排查几个容易踩的小坑:
- 检查完整路径拼写:你代码里的路径是截断的(
Pro...),一定要确认完整路径没有拼写错误,比如大小写、文件名后缀(.jpg/.png有没有写错) - 确认文件权限:虽然直接访问能显示,但还是要确保图片文件给了web服务器运行用户(比如Ubuntu的www-data)可读权限,执行这两条命令就行:
chmod 644 /var/www/html/你的完整图片路径 chown www-data:www-data /var/www/html/你的完整图片路径 - 强制清除浏览器缓存:有时候浏览器会缓存旧的错误路径,按
Ctrl+Shift+R强制刷新页面试试
最后给你修正后的代码示例(假设图片完整路径是/Pro/imgs/steak-kebab.jpg):
<table class="table table-bordered"> <thead> <tr> <th>Name</th> <th>Image</th> <th>Category</th> <th>Action</th> </tr> </thead> <tbody> <tr> <td style="float: left">Broiled Steak Kebabs With Orange Slush</td> <td><img src="/Pro/imgs/steak-kebab.jpg" alt="Broiled Steak Kebab"></td> <!-- 补充其他列的内容 --> </tr> </tbody> </table>
内容的提问来源于stack exchange,提问作者Haris




