【发布时间】:2021-03-10 22:53:36
【问题描述】:
我正在尝试根据 api 调用给出的路径动态显示图像。所有其他数据都正确显示,但不是图像。我怀疑我没有输入正确的路径。前端位于名为client 的文件夹中,图像位于cms 文件夹的子目录中,与client 位于同一目录中。
前端:root/client/src/components/Arrangements.vue
图片:root/cms/public/uploads/some-image.png
这是我的代码:
模板
<div v-if="arrangements.length">
<div :key="arrangement.index" v-for="arrangement in arrangements">
<img :src="getImages(arrangement.img.formats.thumbnail.url)" alt="">
<p>{{ `${arrangement.title}` }}</p>
<p>{{ `$${arrangement.price}` }}</p>
</div>
</div>
脚本
import axios from "axios";
export default {
data() {
return {
arrangements: []
}
},
mounted() {
axios.get("http://localhost:1337/arrangements")
.then(res => {
this.arrangements = res.data;
})
.catch(error => {
this.error = error;
})
},
methods: {
getImages(url) {
return '/cms/public' + url;
}
}
}
API 调用
编辑:
项目结构
我试图访问图像的前端代码是Arrangements.vue,而图像在cms/public/uploads中
【问题讨论】:
-
在开发者控制台中检查元素时,图像 src 是什么样的?网络标签中是否出现 404 错误?
-
图像源是“/cms/public/uploads/imgurl.png”所以这是我所期望的。我回家后必须在网络选项卡中检查 404。
-
我觉得你的src应该是相对的,以'../'开头