Файл изображения не найден ошибка в представлении laravel к плагину Excel

Я использую плагин Laravel Laravel Excel загрузить вид непосредственно в лист Excel. Все идет хорошо Но при использовании изображения на мой взгляд, ошибка выдает сообщение о том, что полный URL изображения не найден. Ошибка:

PHPExcel_Exception

файл http://example.com/client1_site/public/uploads/patients/23/first-patient-photo.jpg
не найдено!

Но URL-адрес существует, и он отображает правильное изображение.

У меня есть следующие HTML на мой взгляд:

<td>
@if(!is_null($s->photo))
<img src="{{URL::to($s->photo)}}" style="width:90px;height:85px;" alt=""/>
@endif
</td>

Кто-нибудь, имеющий встроенный образ в Excel с использованием плагина laravel-excel, испытал то же самое?

0

Решение

Я проверил это, и кажется, что вы можете использовать только относительные пути, когда вы хотите прикрепить файл к Laravel Excel,

Так что вы не можете использовать, например:

но вы должны использовать:

<img src="img/ph4.png" style="width:90px;height:85px;" alt=""/>

Я подготовил тестовый код, чтобы он работал как для Laravel Excel, так и для обычного маршрута при необходимости:

routes.php файл

Route::get('/', function() {

Excel::create('New file', function($excel) {

$excel->sheet('New sheet', function($sheet) {

$sheet->loadView('hello')->with('no_asset', true);

});

})->download('xls');
});Route::get('/test', function() {

return View::make('hello');
});

hello.blade.php файл:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<table>
<tr>
<td>
info here
</td><td>

@if (isset($no_asset))
<img src="img/ph4.png" style="width:90px;height:85px;" alt=""/>
@else
<img src="{{ asset('img/ph4.png') }}" style="width:90px;height:85px;" alt=""/>
@endif
</td>
</tr>
</table>

</body>
</html>

Передача дополнительной переменной no_asset для просмотра вы можете решить, если вы отображаете только относительный путь или весь путь, используя asset,

Это работает для меня — оба используют /test маршрут я получаю ожидаемый результат и для / Я получаю файл Excel с изображением.

2

Другие решения

Вы использовали следующие URL:

File http://example.com/client1_site/public/uploads/patients/23/first-patient-photo.jpg

Но если это в вашем public папка то URL должно быть:

File http://example.com/uploads/patients/23/first-patient-photo.jpg

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

<img src="{{ asset('uploads/patients/23/first-patient-photo.jpg')}}" style="width:90px;height:85px;" alt=""/>

Используйте путь после publicнастройте его в своем коде в соответствии с этим правилом.

0

Ты можешь использовать <img src="public/uploads/patients/23/first-patient-photo.jpg" />

0

Используйте pulic_path (), он возвращает полный путь к каталогу ресурсов.

<td>
@if(!is_null($s->photo))
<img src="{{ public_path().$s->photo }}" style="width:90px;height:85px;" alt=""/>
@endif
</td>
0
По вопросам рекламы [email protected]