Ошибка.Не удалось загрузить документ PDF в laravel - PullRequest
0 голосов
/ 26 июня 2019

Я хочу загрузить pdf файл в html, но я получил ошибку.

здесь моя функция

 public function getDocument($file){
      $filePath = 'app/final/attachments/AA-19-4-2019-18123/'.$file;
      $type = Storage::mimeType($filePath);
      $pdfContent = Storage::get($filePath);

      return Response::make($pdfContent, 200, [
         'Content-Type'        => $type,
         'Content-Disposition' => 'inline; filename="'.$file.'"'
      ]);
 }

здесь мой маршрут

 Route::get('/documents/pdf-document/{file}', 'inboxController@getDocument');

ивот мой код в блейде

 <embed src="{{ action('inboxController@getDocument', ['file'=> basename($attach)]) }}" style="width:100%;height:auto;overflow: hidden;" frameborder="0" allowfullscreen>

похоже, ошибка из-за имени файла файла.Когда я изменил его на asdf.pdf, он загрузил файл, но когда я изменил его имя, я больше не загружался.У изображений действительно нет проблем.только PDF-файлы.Пожалуйста, помогите мне

редактировать

, когда я попытался использовать этот статический код, затем удалить {file} из маршрута, а также из blade-сервера, затем будет загружен pdf.я не могу понять, почему.

 public function getDocument(){
      $filePath = 'app/final/attachments/AA-19-4-2019-18123/my.pdf';
      $type = Storage::mimeType($filePath);
      $pdfContent = Storage::get($filePath);

      return Response::make($pdfContent, 200, [
         'Content-Type'        => $type,
         'Content-Disposition' => 'inline; filename="'.$file.'"'
      ]);
 }

1 Ответ

0 голосов
/ 26 июня 2019

Вы можете сделать это так:

php artisan storage:link

Далее. Перейдите в папку хранилища в «public» и создайте папку «FOLDER_NAME»

Ваша функция:

 public function getDocument($filename){

    return response()->file('storage/FOLDER_NAME/'.$filename);
}

В ваших маршрутах, web.php:

Route::get('/pdf/{filename}', ['as' => 'filename', 'uses' => 'ControllerName@getDocument' ]);

Тогда вы можете позвонить с клинка:

<a href="/pdf/{{ 'name_of_your_file' }}" target="_blank">See PDF File:</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...