我有一个带有图片列表的型号(产品)。如何获取文件的路径?
const data = await Category
.forge()
.orderBy('order', 'DESC')
.fetchAll({
withRelated: [
'products',
'products.images',
]
})
使用上面的查询,我得到以下“图像”数据:
[{
"id": 6,
"upload_file_id": 6,
"related_id": 2,
"related_type": "products",
"field": "images"
}]
Strapi v3.0.0-alpha.19,ORM BookshelfJS(afaik)
答案 0 :(得分:0)
到目前为止,我能找到的最好的方法是访问upload
插件以获取数据:
for (const category of categories) {
for (const product of category.products) {
const files = await strapi.plugins.upload.models.file
.where('id', 'IN', product.images.map(i => i.upload_file_id))
.fetchAll();
product.images = files.models.map(f => f.attributes)
}
}
希望有更好的选择一次获取所有数据
答案 1 :(得分:0)
您还可以使用上传(媒体库)API 端点从 Strapi 获取数据。
curl http://mystrapidomain.com/upload/files
将生成所有上传资产的列表,以及备用设备(如果启用)的自动生成格式。它是一组图像对象,其中每个对象都有名称、替代文本、标题、大小和格式以及许多其他信息。