Route [storage.local] not defined

  • Vielleicht weiß ja das Schwarm Wissen was das Problem ist, oder wie ich das geschafft habe...

    Mit der Ankündigung von temporären URLs für lokale Dateien wollte ich das nun für meine Download funktion verwenden, gesagt getan...
    Aber nun spuckt es mir einen Fehler aus, den ich mir nicht erklären kann:

    Code
    Route [storage.local] not defined.

    Das ganze sieht im Code so aus:

    PHP
    use Illuminate\Support\Facades\Storage;
    
    return Storage::disk("local")->temporaryUrl(
      "files/0bAYv2PrGOTPxFRAS4wg8WR1Wf6Lnkeiy15iFz1q.png",
      now()->addMinutes(5)
    );

    Die Datei existiert (außer Frage), aber wie kommt es das ich es scheinbar schaffe vor dem Registrieren der Routen das auszuführen :/.

    Falls jemand eine Idee hat, wäre das Hilfreich!

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Wie gesagt im Startbeitrag:

    Laravel - The PHP Framework For Web Artisans
    Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the…
    laravel.com

    Ich bezog mich auf die offizielle Dokumentation und die Ankündigung der Laracon :) und mit 11.23.x kam es dann ja auch rein.

    Die Config ist auch entsprechend angepasst meinerseits:

    So wirklich erklären kann ich es mir ja deswegen nicht.

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Oh sry hab ich überflogen anscheinend mein Fehler.

    Das ist ziemlich komisch mir würden noch folgende Ansätze einfallen:

    1. Die Route manuell versuchen zu laden scheinbar soll das so funktionieren:

    PHP
    use Illuminate\Support\Facades\Route;
    use Illuminate\Support\Facades\Storage;
    
    Route::get('/temporary-url/{path}', function ($path) {
        return Storage::disk('local')->temporaryUrl($path, now()->addMinutes(5));
    });


    2. Versuchen den Cache zu leeren und die Abhängigkeiten neu zu laden:

    Code
    composer install
    php artisan route:clear
    php artisan config:clear
    php artisan cache:clear


    Sind natürlich keine Tipps vom Experten, sondern auf eigener Recherche um dir behilflich sein zu können :)

  • Mein Code macht genau das was du vorgeschlagen hast ^^.

    Im Endeffekt liefert die ganze Funktion nur die URL an das Frontend, deswegen ja das Return am Ende.


    Ein Sneaky-Update!

    Local Temporary Urls only work for the last defined disk · Issue #52872 · laravel/framework
    Laravel Version 11.23.5 PHP Version 8.3.11 Database Driver & Version MySQL 8.0.39 for Linux on x86_64 Description I tried out the new temporaryUrl() for the…
    syntaf.in

    Das Problem ist nicht wirklich ein Problem, wenn man etwas merkt... einen Bug :D .

    Meine bisherige Config:

    Das Problem dabei, nur für files können nun URLs erzeugt werden, für watermark nicht ^^.

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

    Einmal editiert, zuletzt von Syntafin (20. September 2024 um 23:38)

  • Es fehlte einfach zu dem Zeitpunkt in der Dokumentation einige Dinge, die sind nun durch ein PR meinerseits und einiger anderer aber nachgeholt worden.

    Für mehrere Dateisysteme für lokale temporäre URLs, muss man auch noch eine URL festlegen, wie man hier am Ende sieht:

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!