
I want to implement file download with 'Range' header and can't receive necessary headers in response. Here is a part where them should be defined but in 1.3 version I don't receive 'Content-Length' - https://github.com/appwrite/appwrite/blob/af7cbef0245a33fc83eb0587d11355fc34395ac9/app/controllers/api/storage.php#L1033-L1037

My request looks like [GET]: https://myhost.com/v1/storage/buckets/bucket_id/files/file_id/download headers: x-appwrite-project: project_id Range: bytes=0-1

what's the response headers for that?

the header should have a content-range:
content-range: bytes 0-1/<CONTENT-LENGTH>

also, if you do get file, that should have the sizeOriginal

I didn't record exact set of headers. But I saw content-range. Is it always full length? BTW, it would be really useful if any type of download could return that content-size. At least we can calculate estimate of the download using that.

Sorry what do you mean?

As far as I know, when I download any file using URLSessionDelegate I receive progress of download in delegate, but if a server doesn't send Content-Length header with full length the progress will be always 0

interesting...do you know the details about what it actually does and how?
Our framework chunks responses bigger than a certain amount and doesn't return the content-length header when it does that. However, this is expected from an HTTP perspective

https://developer.apple.com/documentation/foundation/nsurlsessiondownloaddelegate/1409408-urlsession
totalBytesExpectedToWrite
The expected length of the file, as provided by the Content-Length
header. If this header was not provided, the value is NSURLSessionTransferSizeUnknown.

And usually I calculate the progress by totalBytesWritten/totalBytesExpectedToWrite

interesting...

@dlohani, here's another case where Content-Length header is used

Thank you for the info about content-range
. I'll try to parse it.
Recommended threads
- Can't start docker containers beacuse no...
Hi, I'm testing my app where I upload also files to appwrite storage. As I suspect, I've filled up my disk. Now I can't start Appwrite. Could I ask for help wit...
- Storage & Database is not allowing.
Storage & Database is not allowing to CRUD after i have logged in ? Using web SDK with next.js without any SSR or node-sdk.
- Privacy settings for storage
In my app the user could upload sensitive images for themselves (as a weight loss journal) and they probably donβt want developers or anyone else but themselves...
