1. 验证图片 URL 是否有效
直接访问图片链接,确保 URL 正确且可公开访问
-
如果浏览器无法加载图片,可能是图片服务器限制了外链或已失效。
-
解决方法:更换为可用的图片 URL。
2. 检查浏览器开发者工具
打开浏览器开发者工具(F12),查看以下信息:
-
Network 标签:检查图片请求的状态码。
-
状态码 403:服务器拒绝访问(常见于防盗链)。
-
状态码 404:图片路径错误。
-
-
Console 标签:查看是否有跨域错误(如
CORS
相关报错)。
3. 处理跨域问题(CORS)
如果图片托管在第三方服务器且返回跨域错误:
-
后端代理:通过后端服务代理图片请求,绕过跨域限制。
-
CORS 头配置:在图片服务器设置
Access-Control-Allow-Origin: *
。
4. 解决防盗链限制
部分图片服务器会校验 Referer
请求头,禁止外站直接引用。
解决方法:在 <el-image>
组件中设置 referrerpolicy="no-referrer"
:
<el-image
:src="scope.row.avatar"
fit="fill"
referrerpolicy="no-referrer" <!-- 禁用 Referer 头 -->
style="width: 50px; height: 50px; border-radius: 50%;"
></el-image>
5. 检查后端返回的数据格式
确保后端返回的 avatar
字段是完整的 URL 字符串且无转义问题:
javascript">{
"id": 1,
"username": "user1",
"avatar": "https://image.jpg" // 确保 URL 未包含多余字符
}
6. 使用 <img>
标签测试
用原生 <img>
标签替代 <el-image>
,验证是否是组件问题:
javascript"><template v-slot="scope">
<img
:src="scope.row.avatar"
style="width: 50px; height: 50px; border-radius: 50%;"
v-if="scope.row.avatar"
>
</template>
如果 <img>
可正常加载,可能是 ElementUI 组件配置问题。