Keystone JS:使用临时字符串自动重命名 S3 图像上传

Keystone JS: S3 image uploads being auto-renamed with temporary string

我对 Keystone 还很陌生,因为我最近继承了一个使用它的项目的代码库。我们被锁定在 0.2.42 版,所以我刚刚更新到最新的 0.3.12 版,现在我遇到了一个奇怪的问题。我们所有带有图像的模型都使用 S3 进行上传 (Types.S3File),它过去只是将具有原始文件名的图像放在指定 S3 存储桶的根目录下。但是,现在,这些文件正在重命名,我猜是一个临时字符串名称。例如,如果我上传一个名为 "MyImage.jpg," 的文件,它将上传为类似于“7830c3a6bc7b6790e63de9a3c3716b06.jpg”的文件。是否有我需要编辑的新配置以保留原来的文件名?感谢您的帮助。

赛斯

我在 Github 上的一些帮助下解决了这个问题,所以我想我会在这里回答我自己的问题。

前一个程序员写的"Post" Keystone 列表只为图像字段定义了类型。我也添加了文件名选项:

image: {
    type: Types.S3File,
    filename: function(item, filename, originalname){
        return originalname;
    }
},

现在保留了原来的文件名。