Итак, у меня есть UploadedFile, который я хочу загрузить на указанный c диск 'local'.
// $storedFilePath == "kml/uploadedfile.xml";
$storedFilePath = $request->file->store("kml", "local");
Файл фактически загружен в хранилище / app / kml / uploadedfile. xml - это ПРАВИЛЬНО, после конфигурации для локального диска:
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
С другой стороны, мне нужно получить полный URL-путь (относительно проекта root) к этому файлу. Я пытался
Storage::disk("local")->url($storedFilePath);
Но это заставляет меня /storage/kml/uploadedfile.xml
- обратите внимание, что путь не попадает в приложение / папку.
Одна строка в Laravel FilesystemAdapter. php, которая определяет path находится здесь (функция getLocalUrl):
$path = '/storage/'.$path;
Учитывая тот факт, что $ path начинается с kml /, вполне логично, что он не работает. У меня вопрос, почему. Почему они не соответствуют и как я могу получить полный внутренний (не публичный c) путь?