
Hey guys. So I'm trying to upload an image using storage.createFile
. But when I run it, it throws source.on is not a function
. Below is what my function looks like
async function uploadAvatar(file: File, userId: string) {
const { Permission, Role } = await import("appwrite");
const { storage } = await import("@/AppwriteServices");
const { Bucket_ID } = await import("@/AppwriteServices/IDs");
await storage.createFile(Bucket_ID, userId, file, [
Permission.delete(Role.user(userId)),
Permission.update(Role.user(userId)),
Permission.read(Role.any()),
]);
}
the screenshot shows the error
Any idea what's happening?

what server version? what SDK version? Is this executed client side? how are you getting that file?

Server: Cloud Console SDK: 11.0.0 It's executing on the server side and I'm getting that file from user input

seems like you can't use the web sdk for creating a file server side like this. files in the browser are different than files in nodejs
Recommended threads
- Auth Error
"use client"; import { useEffect } from "react"; import { getSessionCookie } from "@/actions/auth"; import { createBrowserSessionClient } from "@/lib/appwrite-...
- Prevent modifying specific attributes
How do I prevent user to only to be able to modify some of the attributes. Document level security gives full access to update whole document, what are the wor...
- Bypass Error When Creating Account With ...
Suppose user first uses email/pass for log in using xyz@gmail.com, few month later on decides to use google oauth2 with same xyz@gmail.com (or in reverse orde...
