Image
An image field represents an image file, i.e. .jpg, .png, .webp, or .gif.
See the Images and Files guide for details on how to configure storage for the image field type.
import{ config, list }from'@keystone-6/core';import{ image }from'@keystone-6/core/fields';import fs from'node:fs/promises';exportdefaultconfig({lists:{SomeListName:list({fields:{avatar:image({storage:{asyncput(key, stream){await fs.writeFile(`public/files/${key}`, stream)},asyncdelete(key){await fs.unlink(`public/files/${key}`)},url(key){return`http://localhost:3000/files/${key}`},},}),/* ... */},}),/* ... */},/* ... */});
Options:
storage(required): An object that defines how to upload (put), delete (delete) and get a URL to the file (url).