Как получить URL загрузки из файла, хранящегося в Laravel - PullRequest
0 голосов
/ 15 октября 2018

Я создаю файл XLSX с помощью PhpSpreadSheet и загружаю его успешно , посетив определенный маршрут, подобный следующему:

$writer = new Xlsx($spreadsheet);
$writer->save('TTD-HMO-ARSUB.xlsx');
return response()->download('TTD-HMO-ARSUB.xlsx');

Я вижу, что файл TTD-HMO-ARSUB.xlsxхранится в общей папке моего проекта Laravel.

Проблема здесь в том, что мне нужно отправить некоторые данные из приложения Angular через запрос POST и включить эти данные в файл Excel, поэтому я не могу просто посетитьэтот маршрут.Поэтому я решил попытаться получить URL для загрузки созданного файла.Я пробовал с этими URL безуспешно, только 404 с:

http://eiba.com/public/index.php/TTD-HMO-ARSUB.xlsx

http://eiba.com/public/TTD-HMO-ARSUB.xlsx

http://eiba.com/TTD-HMO-ARSUB.xlsx

Есть ли способ получить доступ к этому файлу с URL?Нужно ли хранить его в другом месте, как?

1 Ответ

0 голосов
/ 15 октября 2018

Я решил это таким образом, хотя, возможно, он и не самый лучший:

$writer = new Xlsx($spreadsheet);
$writer->save('excel/TTD-HMO-ARSUB.xlsx');
return response()->json([
   'url' => 'excel/TTD-HMO-ARSUB.xlsx'
]);

Оказывается, вы не можете ссылаться на файл, который находится непосредственно в общедоступном каталоге, но вы можете использовать подкаталогвот так: public / excel и такой URL будет работать:

http://eiba.com/excel/TTD-HMO-ARSUB.xlsx

...