I noticed that Appwrite has a built-in compression algorithm for files. However, when I created a new file after creating the bucket and enabled the Zstd algorithm for compression, it did not change the file size. Is there a configuration I forgot to set? When does the compression start?
My second question is: there is a URL for the file in the bucket so, is there a way to get this URL from the SDK? Because the get_file method did not send this attribute.
#Images compression and Its URLs
30 messages · Page 1 of 1 (latest)
Not sure about the compression, but for the url, you can dynamically build that pretty easily.
did you upload the file before or after making the compression algorithm change?
After....
My file's size on my desktop
The file's size on the storage
So, I understand that the compression starts immediately After I upload the file
Compression happens on file upload
Does the compression algorithm support specific extensions or all MIME types?
keep in mind, compressing something doesn't always make it smaller.
can you check the network logs for the get file request?
Sorry, I didn't understand what should I do?
You mean:
- Do this request first storage.get_file(bucket_id, file_id)
- Then do this command: docker compose logs appwrite --since 10m
actually, i thought the file metadata would say whether it's compressed or not, but it doesn't. the database doesn't reflect it accurately either....
have you tried manually compressing with Zstd locally?
Is compression done to all files or files>30mb
Files under 20MB
Hmmm, No I haven't
I am going to try it locally
So the size here is the original size, not the compressed size
Can you look in the database, or the file on disk?
In the database, there should be a sizeActual column: https://github.com/appwrite/appwrite/blob/d86ee91316da92055442b6481469bc9550507303/app/controllers/api/storage.php#L603
Is there a specific path where the storage's files saved in on the desk?
I believe the files are in the appwrite_appwrite-uploads docker volume
I wanted to try this out and the compressed files size on disk is even larger than before uploading?
Disregard my last comment as I had encryption enabled for the bucket. But now with encryption disabled the files are still the same size (disk and console)
the original uploaded files are 2,1MB and 491KB so the compression doesn't seem to do much
ya maybe the compression settings...