
Hi, I am new to Appwrite and I am trying to upload files using a POST HTTP request to a function, which processes the file and store it in the storage system. Is it possible to do this? I don't see there's a files
or form
attribute of the context
object, and posting through body
doesn't seem to work. Is there any way I can upload files to a function? Or should I do this in the first place?

Hi @Row0 why you want to use a function and not the client SDK? What is your use case?

Hi! So basically what I want is to process the files my user uploads (compression, filtering, etc.) before saving them to the storage.

What appwrite version are you using?

I'm using the web version

What I would do in your case, as function only accept a string as payload, convert the file in base64 and send it as JSON with the rest of your data.
You can do with something like this:
const convertBase64 = (file) => {
return new Promise((resolve, reject) => {
const fileReader = new FileReader();
fileReader.readAsDataURL(file)
fileReader.onload = () => {
resolve(fileReader.result);
}
fileReader.onerror = (error) => {
reject(error);
}
})
}
const base64 = await convertBase64(file)

honestly, i would just use 2 separate buckets, upload to 1 bucket, have a function that triggers on upload, process the file, and then store it in another bucket for serving.


Thank you! I think I'll stick with this approach.

[CLOSED] File upload to functions
Recommended threads
- Corrupted files on AWS S3
Hello! I'm having trouble using S3 storage with appwrite for file uploads. It happens when uploading files from the Javascript SDK or from the console. The fi...
- 500 server error
Pretty please.. trying to run the last 1.7.4 version on a coolify instance.. i searched like everywhere.. i changed the console to 6.0.41 too.. i tried to hardc...
- Help on importing data - error Unknown a...
Hey There! I want to create a local environment on my new computer, i wish to get the information i have on my staging appwrite cloud server. When running mig...
