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
- Guideline of AI
Hello everyone, I’m planning to specialize in Artificial Intelligence (AI) and I’m currently looking for guidance from someone with strong experience in the fi...
- Authentication on custom Websocket Serve...
Hi, I want to use a custom Websocket Server (using Bun) for my application. However I cant really figure out authentication on custom servers. Session cookies ...
- Realtime: Listener not triggered on upda...
I self host appwrite 1.8.1. The genereal functionallity works fine. But my realtime subscription isn't updating. I see "Received heartbeat response from realtim...