Предотвращение функции блейд-php из символов кодирования - PullRequest
1 голос
/ 09 июля 2019

В моем коде есть вызовы маршрутизации, чтобы показать изображение внутри папки, в которой есть пара подпапок на основе категорий. Это мой маршрут вызова в datatable, чтобы показать изображение:

<img id="pic" src="{{url('api/image',['folder/subfolder1',$data->image]}}" style="width:150;height:150"/>

Я получил ошибку, из-за которой папка «/» on / folder / subfolder1 перешла в «% 2f», как это предотвратить ?? я ожидаю, что API вернет ссылку, которая выглядит примерно так:

<img id="pic" src="localhost:8000/api/image/folder/subfolder1/image.jpg/>

вместо этого я получил:

<img id="pic" src="localhost:8000/api/image/folder%2fsubfolder1/image.jpg/>

контроллер getImage выглядит примерно так:

public function getImage($foldername,$filename){
$path = ['UPLOAD_PATH'].'/image';
return Image::make($path.'/'.$foldername'/'.$filename)->response();
}

Вот маршрут API:

Route::get('image/{foldername}/{filename}','getImageController@getImage')

Ответы [ 3 ]

2 голосов
/ 09 июля 2019

Если вы ожидаете этот результат ниже

<img id="pic" src="localhost:8000/api/image/folder/subfolder1/image.jpg" />

Тогда вы можете попробовать это ниже.

<img id="pic" src="{{url('api/image/folder/subfolder1/' . $data->image }}" style="width:150;height:150"/>

Дайте мне знать, если это поможет.

1 голос
/ 09 июля 2019

Вы можете использовать route вместо url при отправке запроса, url будет закодирован как специальный символ.

попробуйте использовать этот код:

<img id="pic" src="{{route('public/image/')}$data->image}}">
1 голос
/ 09 июля 2019

Вам не нужно выходить из собственного внутреннего маршрута.Используйте лезвие без побега {!!!!}} вместо этого:

<img id="pic" src="{!! url('api/image',['folder/subfolder1',$data->image] !!}" ... />

Возможно, я бы также сделал маршрутизацию немного более простой - почему бы просто не использовать api/image/folder/subfolder1/'.$data->image или подобное?

...