mirror of
https://github.com/HolgerHatGarKeineNode/einundzwanzig-nostr.git
synced 2026-01-27 06:33:18 +00:00
🔒 Update media routes to support private disk and enhance file handling
- 🗂️ Change default filesystem disk from `local` to `private` in configuration - 📤 Use `Storage::disk` for media download and response functionality - ⚙️ Refactor download and file response logic for improved security and consistency
This commit is contained in:
@@ -13,7 +13,7 @@ return [
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'default' => env('FILESYSTEM_DISK', 'local'),
|
'default' => env('FILESYSTEM_DISK', 'private'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -3,21 +3,29 @@
|
|||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
use Illuminate\Support\Facades\Session;
|
use Illuminate\Support\Facades\Session;
|
||||||
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Spatie\MediaLibrary\MediaCollections\Models\Media;
|
use Spatie\MediaLibrary\MediaCollections\Models\Media;
|
||||||
|
|
||||||
Route::redirect('/', '/association/profile');
|
Route::redirect('/', '/association/profile');
|
||||||
|
|
||||||
Route::get('dl/{media}', function (Media $media, Request $request) {
|
Route::get('dl/{media}', function (Media $media, Request $request) {
|
||||||
return response()->download($media->getPath(), $media->name);
|
return Storage::disk($media->disk)->download(
|
||||||
|
$media->getPathRelativeToRoot(),
|
||||||
|
$media->file_name
|
||||||
|
);
|
||||||
})
|
})
|
||||||
->name('dl')
|
->name('dl')
|
||||||
->middleware('signed');
|
->middleware('signed');
|
||||||
|
|
||||||
Route::get('media/{media}', function (Media $media, Request $request) {
|
Route::get('media/{media}', function (Media $media, Request $request) {
|
||||||
return response()->file($media->getPath(), [
|
return Storage::disk($media->disk)->response(
|
||||||
'Content-Type' => $media->mime_type,
|
$media->getPathRelativeToRoot(),
|
||||||
'Cache-Control' => 'private, max-age=3600',
|
$media->file_name,
|
||||||
]);
|
[
|
||||||
|
'Content-Type' => $media->mime_type,
|
||||||
|
'Cache-Control' => 'private, max-age=3600',
|
||||||
|
]
|
||||||
|
);
|
||||||
})
|
})
|
||||||
->name('media.signed')
|
->name('media.signed')
|
||||||
->middleware('signed');
|
->middleware('signed');
|
||||||
|
|||||||
Reference in New Issue
Block a user