我在代码中有一个路由调用,以在一个基于类别的几个子文件夹的文件夹中显示图像。这是我的路线调用DataTable以显示图像:
<img id="pic" src="{{url('api/image',['folder/subfolder1',$data->image]}}" style="width:150;height:150"/>
我遇到了一个错误,导致"/'on"文件夹/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')
如果您期望此结果以下
<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"/>
让我知道是否有帮助。
您无需逃脱自己的内部路线。使用Blade的非排放{!!!!}}而不是:
<img id="pic" src="{!! url('api/image',['folder/subfolder1',$data->image] !!}" ... />
我也可能会使路由更简单 - 为什么不使用api/image/folder/subfolder1/'.$data->image
或类似的路由?
发送到请求URL时,您可以使用路线而不是URL编码为特殊字符。
尝试使用此代码:
<img id="pic" src="{{route('public/image/')}$data->image}}">