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:49:50 +08:00
parent 69980ef064
commit 4575eab701
2 changed files with 15 additions and 24 deletions
@@ -73,27 +73,12 @@ class BulkDownloadSupplierWhiteFormsLogic
Log::info('BulkDownloadSupplierWhiteFormsLogic finished processing files count: '.count($groups));
// 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);
$temporaryUrl = Storage::disk('s3')->temporaryUrl(
$filePathForS3,
Carbon::now()->addMinutes(60)
);
return response()->stream(function () use ($filePathForS3) {
$temporaryUrl = Storage::disk('s3')->temporaryUrl(
$filePathForS3,
Carbon::now()->addMinutes(60)
);
$fileStream = fopen($temporaryUrl, 'r');
fpassthru($fileStream);
fclose($fileStream);
}, 200, [
'Content-Type' => 'application/octet-stream',
'Content-Disposition' => 'attachment',
]);
return response(['src' => $temporaryUrl ]);
}
else {
return response()->json([
@@ -88,10 +88,16 @@
},
successHandler(response) {
this.isLoading = false;
if (response.message) {
this.returnData = response;
} else {
this.returnData = null;
if(window.LARAVEL_VAPOR_ENABLED){
let src = response.payload.src;
window.location.href = src;
}
else{
if (response.message) {
this.returnData = response;
} else {
this.returnData = null;
}
}
},
hasMarkingParameter() {