Laravel - принудительная загрузка с ответом () -> загрузка ($ fileLocation) не работает - PullRequest
0 голосов
/ 07 июня 2018

Я создаю функцию загрузки с Laravel.Когда пользователь нажимает кнопку «скачать», я инициирую ajax-вызов контроллера, который выглядит следующим образом -

public function download(Resource $resource) {
    // Force download of the file
    $file_to_download   = 'https://data.domain.com/downloads/' . $resource->file_name;
    $temp_file_location =   public_path('/tmp_files/' . $resource->file_name);
    copy($file_to_download, $temp_file_location);
    return response()->download($temp_file_location)->deleteFileAfterSend(true);
}

Инспектор Chrome показывает, что ответ заполняется содержимым файла, но этоне будет запускать фактическую загрузку.

Я пытался найти ответ, но пока безуспешно.Буду очень признателен за вашу помощь.

Спасибо за ваше время.

1 Ответ

0 голосов
/ 07 июня 2018

Вы не можете загрузить файл из запроса Ajax, потому что Javascript не может сохранить файлы в вашей файловой системе из соображений безопасности.

Есть несколько хороших пакетов, таких как Загрузка файла Jquery

Или вы можете использовать традиционный запрос GET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...