Strapi:查询图像

时间:2019-01-24 17:22:04

标签: bookshelf.js strapi

我有一个带有图片列表的型号(产品)。如何获取文件的路径?

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)

2 个答案:

答案 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 将生成所有上传资产的列表,以及备用设备(如果启用)的自动生成格式。它是一组图像对象,其中每个对象都有名称、替代文本、标题、大小和格式以及许多其他信息。