如何在管理界面中获取Types.File字段的图像预览。
它表示" FS adapter supports所有默认的Keystone文件架构字段。它还支持并启用文件名路径(必需)。"但是,当我尝试(doc)时:
format: function(item, file){
return '<img src="/files/'+file.filename+'" style="max-width: 300px">'
}
UI中没有任何内容
答案 0 :(得分:1)
据我从Keystone GitHub可以看出,format
函数已经工作了一段时间。我不知道Keystone 4.0中是否存在该函数。参考here。
答案 1 :(得分:1)
如果您需要立即测试,可以自行分配当前测试版并自行修补功能。
您可以在https://github.com/keystonejs/keystone/blob/v4.0.0-beta.5/fields/types/file/FileType.js#L81
找到它 但是,对我来说似乎并不合适。我希望他们在发布4.0之前修复它,以及丢失的文件阵列类型。答案 2 :(得分:1)
现在可以在keystone的最新主分支中进行图像预览(参见https://github.com/keystonejs/keystone/pull/4509)。目前您需要依赖于keystone的git版本,因此请将其放在package.json
并运行npm install
:
"keystone": "https://github.com/keystonejs/keystone.git"
在您的模型中,在相关图片字段中指定thumb: true
。您还需要架构中的url
属性。例如:
const storage = new keystone.Storage({
adapter: keystone.Storage.Adapters.FS,
fs: {
path: keystone.expandPath('./uploads/images'),
publicPath: '/images/'
},
schema: {
url: true,
}
})
ImageUpload.add({
name: { type: Types.Key, index: true },
image: {
type: Types.File,
storage: myStorage,
thumb: true
},
createdTimeStamp: { type: String }
});
管理员界面现在应该显示图片的小预览及其链接。