When I stream a file, it ends up in myzip.zip and the size is correct, but when unzip it, it become myzip.zip.cpgz. Here is my prototype:
header('Pragma: no-cache'); header('Content-Description: File Download'); header('Content-disposition: attachment; filename="myZip.zip"'); header('Content-Type: application/octet-stream'); header('Content-Transfer-Encoding: binary'); $s3 = Storage::disk('s3'); // Laravel Syntax echo $s3->readStream('directory/file.jpg');
What am I doing wrong?
When I stream a file like this, does it:
- get fully downloaded into my server's RAM, then get transferred to the client, or
- does it get saved - in chunks - in the buffer, and then get transferred to the client?
Basically, is my server being burdened if I have have dozens of GB's of data being streamed?