При обновлении до Laravel 5.1 этот метод больше не поддерживается адаптером. Нет в вашей конфигурации у вас должен быть установлен S3_REGION, или вы получите недопустимую ошибку имени хоста, а во-вторых, мне пришлось использовать команду в качестве входа для создания presignedRequest.
public function getFilePathAttribute($value)
{
$disk = Storage::disk('s3');
if ($disk->exists($value)) {
$command = $disk->getDriver()->getAdapter()->getClient()->getCommand('GetObject', [
'Bucket' => Config::get('filesystems.disks.s3.bucket'),
'Key' => $value,
'ResponseContentDisposition' => 'attachment;'
]);
$request = $disk->getDriver()->getAdapter()->getClient()->createPresignedRequest($command, '+5 minutes');
return (string) $request->getUri();
}
return $value;
}