【发布时间】:2018-02-21 11:11:43
【问题描述】:
与问题here 非常相似,但我没有使用 S3 文件,并且该链接中的信息有些过时(由于上述问题链接的 github 问题已关闭,因此尚未更新)。
我的问题是关于如何在 Keystonejs 的管理后端预览上传的图像。虽然这似乎是一个 hacky 修复(编辑上面链接中建议的 keystone 文件),但我想知道是否还有其他选项。
虽然他们添加了对 S3 文件的支持并且支持 Types.CloudinaryImage,但当它只是上传的图像时,我无法预览上传的图像,因为 Keystone 将其视为任意文件(而不是图像)。
Screenshot: 如您所见,Keystone 仅显示文件名(以红色突出显示)。
模型设置如下:
var keystone = require('keystone');
var Types = keystone.Field.Types;
/**
* Image Upload Model
* ==================
* A database model for uploading images to the local file system
*/
var ImageUpload = new keystone.List('ImageUpload');
var myStorage = new keystone.Storage({
adapter: keystone.Storage.Adapters.FS,
fs: {
path: keystone.expandPath('./public/uploads/images'),
publicPath: '/public/uploads/images',
}
});
ImageUpload.add({
name: { type: Types.Key, index: true },
image: {
type: Types.File,
storage: myStorage
},
createdTimeStamp: { type: String },
url: { type: String }
});
ImageUpload.defaultColumns = 'url, createdTimeStamp, image';
ImageUpload.register();
【问题讨论】:
标签: node.js mongodb keystonejs