Skip to content
Back

Bug Report: Error creating file with `storage.createFile` (Node SDK)

  • 0
  • Self Hosted
  • Storage
Bielframos
23 Sep, 2025, 02:34

Problem I’m trying to create a file in Appwrite Storage using the node-appwrite SDK. The InputFile is generated from a base64 buffer, and I’m passing a fileId with ID.unique().

Code snippet:

TypeScript
const fileBuffer = Buffer.from(base64, 'base64');
const filenameForUpload = filename ?? `${ID.unique()}.bin`;

let newFileInBucket = await storage.createFile(
  storageId,
  ID.unique(),
  InputFile.fromBuffer(fileBuffer, filenameForUpload),
  [Permission.read(Role.team(teamId)), Permission.write(Role.team(teamId))]
);

Error:

TypeScript
AppwriteException: Param "fileId" is not optional
at _Client.call (.../node_modules/node-appwrite/dist/client.mjs:294:13)
...

Notes

  • ID.unique() returns a valid value (already logged).
  • The error still occurs even when logging the fileId.

Environment

  • Node.js v22
TL;DR
Bug report for creating a file in Appwrite Storage using `node-appwrite` SDK. Error states "Param 'fileId' is not optional" even when correctly passing it. Developers suggest trying a different syntax for `createFile` method.
Bret
23 Sep, 2025, 02:45

may try

TypeScript
const result = await storage.createFile({
    bucketId: '<BUCKET_ID>',
    fileId: '<FILE_ID>',
    file: InputFile.fromPath('/path/to/file', 'filename'),
    permissions: ["read("any")"] // optional
});
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more