Me gustaría poder recuperar un archivo del almacenamiento en mi controlador.
public function getFile($fileID) { $file = CommUploads::where('id', $fileID)->first(); if (Auth::user()->id == $file->user_id || Auth::user()->id == $file->artist_id) { $fileGet = Storage::get($file->file_path); return $fileGet; } }Ahora, puedo obtener la ruta correctamente, sin embargo, todo lo que sale es un galimatías, como si estuvieras mirando una imagen sin la extensión.
Idealmente, me gustaría que esto funcione como una especie de "guardar como".
¿Cómo puedo hacer esto?
Debe utilizar una respuesta de descarga de archivos .
public function getFile($fileID) { $file = CommUploads::where('id', $fileID)->first(); if (Auth::user()->id == $file->user_id || Auth::user()->id == $file->artist_id) { return response()->download(storage_path('app/' . $file->file_path)); } }Es una mala práctica devolver solo una cadena. Al usar las respuestas de Laravel, Laravel se asegura de que los encabezados y otros requisitos estén configurados correctamente para devolver la respuesta al navegador.