在KeystoneJS中,要显示存储在Types.File中的缩略图/预览图像,可以按照以下步骤进行操作:
sharp
和multer
依赖:npm install sharp multer
Types.File
来定义文件字段。例如,假设你有一个名为Image
的模型,其中包含一个名为thumbnail
的缩略图字段,可以这样定义: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);
}
},
},
},
// 其他字段...
},
});
publicPath
属性来获取缩略图的公共访问路径。例如,假设你有一个名为image
的KeystoneJS实例,你可以这样获取缩略图的URL:const thumbnailUrl = image.fields.thumbnail.publicPath;
<img src="{{ thumbnailUrl }}" alt="Thumbnail">
这样就可以显示存储在Types.File中的KeystoneJS缩略图/预览图像了。
关于模式URL和publicPath的问题,需要更具体的上下文才能提供准确的答案。一般来说,模式URL是指用于匹配和处理URL路径的正则表达式模式,而publicPath是指公共访问路径,用于指定静态资源的基础URL路径。在KeystoneJS中,这些概念通常与路由和静态文件服务相关。如果有更具体的问题或上下文,请提供更多信息,以便提供更详细的答案。
领取专属 10元无门槛券
手把手带您无忧上云