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.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
});
Recommended threads
- how to access the value of account statu...
- What does it means
I am looking for Appwrite for migration, but i am confused with the term "Unlimited" in Pricing table of Documents . Kindly Let me know what does it ...
- Redirect from clicking team invite link ...
Hi all! Pretty new to app development in general so this might be something more generic than appwrite, but I've found (after reading the docs for the Teams API...