© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•5mo ago•
8 replies
Raj Siva-Rajah

Set temporary upload disk per-FileUpload field

✅ SolvedForm builder4️⃣v4
Hi. Does anyone know how I could set the temporary upload disk on the
FileUpload
FileUpload
field itself? I need to leave my Livewire
temporary_file_upload
temporary_file_upload
config set to a local disk, but save temporary uploads direct to S3 for a few specific forms. Cheers.
Solution
Thanks! Don't know why I didn't think about middleware. Couldn't get the state or component to work - but used the path. Below for anyone else:
<?php

// app/Http/Middleware/LivewireTempDiskManager.php
//
// In bootstrap/app.php place the following
// $middleware->web(append: [
//     LivewireTempDiskManager::class,
// ]);

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Str;

class LivewireTempDiskManager
{
    public function handle(Request $request, Closure $next)
    {

        $path = parse_url($request->header('referer'), PHP_URL_PATH);

        $disk = match (true) {
            // 1. Letters Resource (S3)
            Str::contains($path, '/special') => 'g3-transfer',

            // Default fallback
            default => 'local',
        };

        // Apply disk override for this request
        config([
            'livewire.temporary_file_upload.disk' => $disk,
        ]);

        return $next($request);
    }
}
<?php

// app/Http/Middleware/LivewireTempDiskManager.php
//
// In bootstrap/app.php place the following
// $middleware->web(append: [
//     LivewireTempDiskManager::class,
// ]);

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Str;

class LivewireTempDiskManager
{
    public function handle(Request $request, Closure $next)
    {

        $path = parse_url($request->header('referer'), PHP_URL_PATH);

        $disk = match (true) {
            // 1. Letters Resource (S3)
            Str::contains($path, '/special') => 'g3-transfer',

            // Default fallback
            default => 'local',
        };

        // Apply disk override for this request
        config([
            'livewire.temporary_file_upload.disk' => $disk,
        ]);

        return $next($request);
    }
}
Jump to solution
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

temporary upload file
FilamentFFilament / ❓┊help
2y ago
Set FileUpload value from another field
FilamentFFilament / ❓┊help
2y ago
Fileupload field
FilamentFFilament / ❓┊help
2y ago
Repeater set a Variable per Field
FilamentFFilament / ❓┊help
2y ago