Ich habe Probleme mit Laravel Abrufen von Bildern und in der Lage, diese Bilder in meinem Controller zu verwenden.Laravel abrufen Bild aus dem Speicher und konnte nicht öffnen Stream: Keine solche Datei oder Verzeichnis
ich überprüfen, zuerst sicherstellen, dass das Bild vorhanden ist, die wahre
var_dump(storage::disk('local')->exists('image.png'))
zurück, wenn ich das tun
$file = Storage::disk('local')->get('image.png');
var_dump(pathinfo($file));
i
array(2) {
["basename"]=>
string(0) ""
["filename"]=>
string(0) ""
}
Gerade var_dump() ing diese Ausgabe erhalten Die $file
gibt mir eine leere Zeichenfolge
Wenn ich dies tun
$file = Storage::disk('local')->url('image.png');
var_dump(pathinfo($file));
i bekommen
array(4) {
["dirname"]=>
string(8) "/storage"
["basename"]=>
string(9) "image.png"
["extension"]=>
string(3) "png"
["filename"]=>
string(5) "image"
}
Ich will nicht, um die Eigenschaften kennen, muss ich der Lage zu nutzen sein, dass Bild tatsächlich gespeichert und an einer anderen API zu laden.
Wenn ich versuchen und tun
echo '<img src="'.$file.'">';
i erhalten diese in der Source-Browser kann aber kein Bild sehen
<img src="/storage/image.png">
Die API i dieses Bild kehrt laden bin mit
mime_content_type(/storage/image.png): failed to open stream: No such file or directory
Ich bin davon überzeugt, sobald ich das eigentliche Bild bekommen kann, wird der Rest
arbeitenEDIT:
ich diesen Befehl php artisan storage:link
Wenn i $file = public_path('uploads/image.png');
und kopieren Sie die Datei in den öffentlichen Ordner verwenden ausgeführt haben (nicht Speicher/app/public), ich bin in der Lage, das Bild zu verwenden, wie ich will
Dies ist nicht ideal, da ich nicht möchte, dass die Bilder öffentlich zugänglich sind. Ich muss auf das Bild aus dem Speicherordner zugreifen können.
Wenn ich $file = Storage::disk('public')->get('image.jpg');
laufen bekomme ich mime_content_type(): Invalid path
ich Latein am Ende bin versucht, einen Pfad zu dem Bild an dem API ich verwenden müssen, zu senden. Alles was es braucht ist /the/path/to/the/image
Andere Code i Ergebnisse in einem 403 versucht haben, wenn sie versuchen, das Bild
Ich bekomme jetzt 'Datei existiert nicht im Pfad/var/www/vhosts/mysite.com/httpdocs/storage/image.jpg' – AdRock
könnte im App-Ordner '$ path = storage_path() gespeichert werden. "/app/image.png"; überprüfen Sie dies: https://laravel.com/docs/5.5/filesystem#the-local-driver – Ben