● PHPでファイル名を指定してS3ストレージから署名付きURL(signedURL)でダウンロードさせる
$s3 = \Storage::disk('s3');
$client = $s3->getDriver()->getAdapter()->getClient();
$new_filename = urlencode( "テストファイル.png" ); // ファイル名を指定
$command = $client->getCommand('GetObject', [
'Bucket' => env('AWS_BUCKET') ,
'Key' => "{$dir}/{$file}" ,
'ResponseContentDisposition' => "attachment; filename=\"{$new_filename}\"" , // ファイル名を指定
]);
$expiry = "+10 minutes";
$request = $client->createPresignedRequest($command, $expiry);
$signed_url = (string) $request->getUri();
return redirect( $signed_url );