自动设置 KeystoneJS 上传文件 URL
Automatically set KeystoneJS uploaded file URL
如何在 Keystone.js 中为上传的文件自动设置 URL?这是文件的模型:
var keystone = require('keystone');
var Types = keystone.Field.Types;
var FileUpload = new keystone.List('FileUpload');
var myStorage = new keystone.Storage({
adapter: keystone.Storage.Adapters.FS,
fs: {
path: keystone.expandPath('./public/uploads/files'), // required; path where the files should be stored
publicPath: '/public/uploads/files', // path where files will be served
}
});
FileUpload.add({
name: { type: Types.Key, index: true},
file: {
type: Types.File,
storage: myStorage,
},
url: {type: String}
});
FileUpload.defaultColumns = 'name, url';
FileUpload.register();
我尝试将 url 的 'default' 属性 设置为
'/public/uploads/files/ + this.name
但是 'this' 上下文只是一个空对象字面量。 Keystone 在他们的文档中有一个示例,他们为上传图像制作了一个自定义前端,并在单独的 API 调用中设置上传文件的元数据,但我正在尝试使用他们提供的管理界面来执行此操作。
澄清一下:您正在尝试使 Mongo 数据库中的条目成为图像的完整路径,而不仅仅是图像的名称?
如果我需要在文件名后附加一些内容,我会在模板端完成,我猜你不想那样做吧?也许如果你多解释一下用例?
如何在 Keystone.js 中为上传的文件自动设置 URL?这是文件的模型:
var keystone = require('keystone');
var Types = keystone.Field.Types;
var FileUpload = new keystone.List('FileUpload');
var myStorage = new keystone.Storage({
adapter: keystone.Storage.Adapters.FS,
fs: {
path: keystone.expandPath('./public/uploads/files'), // required; path where the files should be stored
publicPath: '/public/uploads/files', // path where files will be served
}
});
FileUpload.add({
name: { type: Types.Key, index: true},
file: {
type: Types.File,
storage: myStorage,
},
url: {type: String}
});
FileUpload.defaultColumns = 'name, url';
FileUpload.register();
我尝试将 url 的 'default' 属性 设置为
'/public/uploads/files/ + this.name
但是 'this' 上下文只是一个空对象字面量。 Keystone 在他们的文档中有一个示例,他们为上传图像制作了一个自定义前端,并在单独的 API 调用中设置上传文件的元数据,但我正在尝试使用他们提供的管理界面来执行此操作。
澄清一下:您正在尝试使 Mongo 数据库中的条目成为图像的完整路径,而不仅仅是图像的名称?
如果我需要在文件名后附加一些内容,我会在模板端完成,我猜你不想那样做吧?也许如果你多解释一下用例?