Strapi中存储的图片URL默认是私有的,需要在API中进行配置才能显示。可以通过以下步骤解决:
在Strapi的管理界面中找到要暴露图片URL的集合(Content Type),点击左侧栏的“文件”(Files)选项卡,在“权限”(Permissions)中公开访问”(Public)的复选框选中。
在API控制器中指定图片的URL:
const imageUrl = `${process.env.API_URL}${asset.url}`;
在API的返回结果中将图片URL发送给客户端。
完整的代码实例:
// API控制器
const getProducts = async (req, res) => {
const products = await strapi.query("product").find();
const productsWithImageUrl = products.map((product) => {
return {
...product,
imageUrl: `${process.env.API_URL}${product.image[0].url}`,
};
});
res.json(productsWithImageUrl);
};
在这个例子中,我们获取所有产品的数据,并将产品的图片URL添加到返回结果中。需要注意的是,process.env.API_URL
变量必须配置为API服务器的URL地址。
上一篇:API调用数据库图