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 参数,例如 filterfieldsincludesort
    • 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,
},
},
},
},
})