createFileResource
为父实体创建文件资源。
const resource = await drupal.createFileResource<T = DrupalFile>( type, body, options?: { params, withAuth, deserialize, }): Promise<T>
type: string
- 必需
- 资源类型。在大多数情况下,这是
file--file
。
body: JsonApiCreateFileResourceBody
- 必需
- 包含
data
的主体负载。type: string
: 主机实体的资源类型。例如:media--image
。field: string
: 主体实体上的文件字段名称:例如:field_media_image
。filename: string
: 文件的名称,包含扩展名:例如:avatar.jpg
。file: Buffer
: 文件。
选项
- 可选
params: JsonApiParams
: JSON:API 参数,例如filter
、fields
、include
或sort
。withAuth: boolean | DrupalClientAuth
:- 设置要使用的身份验证方法。查看 身份验证文档。
- 设置为
true
以使用客户端配置的身份验证方法。
deserialize: boolean
: 设置为 false 以返回原始 JSON:API 响应。
示例
要创建文件资源,请使用父实体上的文件字段名称。
例如:一个具有名为 field_media_image
的文件字段的 media--image
。
const file = await drupal.createFileResource("file--file", { data: { attributes: { type: "media--image", // <-- The type of the parent resource. field: "field_media_image", // <-- The name of the field on the parent resource. filename: "filename.jpg", file: await fs.readFile("/path/to/file.jpg"), }, },})
这将创建一个 file--file
资源。
然后,您可以使用它创建一个新的 media--image
,它与 file--file
存在关联关系。
const media = await drupal.createResource<DrupalMedia>("media--image", { data: { attributes: { name: "Name for the media", }, relationships: { field_media_image: { data: { type: "file--file", id: file.id, }, }, }, },})