Laravel Vapor - sync code for download files in bulk from S3 to more files

This commit is contained in:
Dillon Ngo
2024-04-29 13:28:25 +08:00
parent 377ad11a4f
commit 69980ef064
@@ -73,14 +73,27 @@ class BulkDownloadSupplierWhiteFormsLogic
Log::info('BulkDownloadSupplierWhiteFormsLogic finished processing files count: '.count($groups));
return response()->streamDownload(function () use ($filePathForS3) {
// return response()->streamDownload(function () use ($filePathForS3) {
// $temporaryUrl = Storage::disk('s3')->temporaryUrl(
// $filePathForS3,
// Carbon::now()->addMinutes(60)
// );
// $response = Http::get($temporaryUrl);
// echo $response->getBody()->getContents();
// }, $zipFileName);
return response()->stream(function () use ($filePathForS3) {
$temporaryUrl = Storage::disk('s3')->temporaryUrl(
$filePathForS3,
Carbon::now()->addMinutes(60)
);
$response = Http::get($temporaryUrl);
echo $response->getBody()->getContents();
}, $zipFileName);
$fileStream = fopen($temporaryUrl, 'r');
fpassthru($fileStream);
fclose($fileStream);
}, 200, [
'Content-Type' => 'application/octet-stream',
'Content-Disposition' => 'attachment',
]);
}
else {
return response()->json([