【问题标题】:Automatically set KeystoneJS uploaded file URL自动设置 KeystoneJS 上传文件 URL
【发布时间】:2018-07-19 14:10:02
【问题描述】:

如何在 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 的“默认”属性设置为类似

'/public/uploads/files/ + this.name

但“this”上下文只是一个空对象字面量。 Keystone 在他们的文档中有一个示例,他们制作了一个自定义前端来上传图像,并在单独的 API 调用中设置上传文件的元数据,但我正在尝试使用他们提供的管理界面来执行此操作。

【问题讨论】:

    标签: node.js mongodb express mongoose keystonejs


    【解决方案1】:

    为了澄清:您试图让 Mongo 数据库中的条目成为图像的完整路径,而不仅仅是图像的名称?

    如果我需要在文件名上附加一些内容,我会在模板端执行,我猜你不想这样做?或许你再解释一下用例?

    【讨论】:

    • 我试图在模型中引用 file.filename 但我现在看到在模板中执行它更简单。谢谢!
    猜你喜欢
    • 2015-08-11
    • 2012-05-25
    • 2014-01-08
    • 2016-07-15
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多