Skip to content
Back

sveltekit + appwrite, cant upload image from form to appwrite bucket

  • 0
  • Web
  • Storage
mina99
28 Mar, 2025, 14:23

hi, today i started using the appwrite, it is super simple but one think that got me stuck for the past 3 hours is not being able to uplad a image to a bucket, here is my code and i would explain what i want to acheve:

+PAGE.SVELTE CODE

TypeScript
<form use:enhance action="?/postskin" method="POST" enctype="multipart/form-data">
        <input type="text" placeholder="naslov" name="title" />
        <input type="file" name="image" accept="image/*" required />
        <button><Plus /> POST SKIN</button>
</form>

+PAGE.SERVER.JS CODE

TypeScript
import { Client, ID, Storage } from 'appwrite';

export const actions = {
    postskin: async ({ request }) => {
        const data = await request.formData();
        const image = data.get('image');

        console.log(image);
        console.log(image.type);

        const client = new Client().setEndpoint('https://cloud.appwrite.io/v1').setProject('xxxxxxxxx');

        const storage = new Storage(client);

        try {
            const result = await storage.createFile('xxxxxxxx', ID.unique(), image);
            console.log(result);
            return { success: 'Image uploaded successfully' };
        } catch (error) {
            console.error('Error uploading file:', error);
            return { error: 'Failed to upload image' };
        }
    }
};

so i want my image to get upladed to bucket what i did: made sure that my id-s are correct, setuped the permisions to any with everything checked

what i get:

TypeScript
File {
  size: 2138,
  type: 'image/png',
  name: 's.png',
  lastModified: 1743171671561
}
image/png
Error uploading file: TypeError: source.on is not a function

if someone can explain to me what i did wrong or what should i do it would be highly apreciated

sorry for bad english

TL;DR
Developers are having trouble uploading an image from a form to an Appwrite bucket. The error message "TypeError: source.on is not a function" is being encountered. The issue may be related to the way the image data is being processed. Potential solutions include checking the version compatibility of libraries, ensuring correct usage of the Appwrite SDK, and verifying the format of the image data being passed to the createFile function.
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