
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
- 404 error when navigating to the team fr...
the version i m running is `1.7.4` as far as i can tell everything is working fine except for this weird bug in the video. when monitoring the appwrite and app...
- [Node.js SDK] Bypass 2GB file limit?
Hello. Using either InputFile.fromPath or InputFile.fromBuffer throws this error: File size (2295467305) is greater than 2 GiB Bucket limit etc. is setup corre...
- Relationship null, even when relationshi...
Hi Everyone, im experiencing issues with set relation data. When im setting the document id from the related database most of them seem fine, except one table. ...
