首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何显示存储在Types.File中的KeystoneJS缩略图/预览图像?和模式url与publicPath

在KeystoneJS中,要显示存储在Types.File中的缩略图/预览图像,可以按照以下步骤进行操作:

  1. 首先,确保已经安装了必要的依赖项。在KeystoneJS项目的根目录下,运行以下命令安装sharpmulter依赖:
代码语言:txt
复制
npm install sharp multer
  1. 在你的模型定义中,使用Types.File来定义文件字段。例如,假设你有一个名为Image的模型,其中包含一个名为thumbnail的缩略图字段,可以这样定义:
代码语言:txt
复制
const { Keystone } = require('@keystonejs/keystone');
const { File, Text } = require('@keystonejs/fields');

const keystone = new Keystone(/* ... */);

keystone.createList('Image', {
  fields: {
    thumbnail: {
      type: File,
      adapter: keystone.createAdapter(),
      isRequired: true,
      hooks: {
        beforeChange: async ({ existingItem }) => {
          if (existingItem && existingItem.thumbnail) {
            // 删除旧的缩略图
            await keystone.adapters.DefaultFileAdapter.delete(existingItem.thumbnail);
          }
        },
      },
    },
    // 其他字段...
  },
});
  1. 在你的前端代码中,可以使用publicPath属性来获取缩略图的公共访问路径。例如,假设你有一个名为image的KeystoneJS实例,你可以这样获取缩略图的URL:
代码语言:txt
复制
const thumbnailUrl = image.fields.thumbnail.publicPath;
  1. 如果你想在模板中显示缩略图,可以使用以下代码:
代码语言:txt
复制
<img src="{{ thumbnailUrl }}" alt="Thumbnail">

这样就可以显示存储在Types.File中的KeystoneJS缩略图/预览图像了。

关于模式URL和publicPath的问题,需要更具体的上下文才能提供准确的答案。一般来说,模式URL是指用于匹配和处理URL路径的正则表达式模式,而publicPath是指公共访问路径,用于指定静态资源的基础URL路径。在KeystoneJS中,这些概念通常与路由和静态文件服务相关。如果有更具体的问题或上下文,请提供更多信息,以便提供更详细的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券