有时我们在vue前端上传图片时,会将上传的图片保存在springboot中的路径之下,这样当我们在vue前端想要通过el-image标签(elementui组件)展示刚刚上传的图片时,会出现图片无法加载的问题,解决该问题的方法:
第一步:首先测试能否在springboot中通过http://localhost:port number/image.jpg(以图片为例)访问位于/resources/static、/resources/public、/resources/resources下的静态资源
如果阅读过源码的小伙伴,会发现/resources/static、/resources/public、/resources/resources均可以为springboot中存放静态资源的位置。 假如我们在/resources/static/img路径下存放名称为“84671d30-53ff-4ebc-b7c5-b41660ef3f72芝士莓莓.jpg”的图片,那么我们便可以通过http://localhost:1252/upload/img/84671d30-53ff-4ebc-b7c5-b41660ef3f72芝士莓莓.jpg在浏览器中访问静态资源。 但是我们可能会遇到这样的问题:通过上述url无法访问springboot中的静态资源。如果遇到这样的问题,请参考这篇博客:
Spring-Boot:写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?
第二步:在vue前端中,在el-table的src标签中使用http://localhost:port number/image.jpg展示在springboot路径下存储的图片
(在这里使用了elementui中的el-table组件,如果对el-table以及slot-scope=“scope”部分有疑问,请前往elementui官网进行阅读) 其中scope.row.picture的值是通过后端从数据库中获得的值 因此,img的值即为http://localhost:1252/upload/img/84671d30-53ff-4ebc-b7c5-b41660ef3f72芝士莓莓.jpg(以芝士莓莓.jpg为例),el-image组件便可展示存储在springboot路径下的图片
|