javascript - 防止刀片 php 函数编码符号
问题描述
我的代码中有一个路由调用来显示一个文件夹内的图像,该文件夹有几个基于类别的子文件夹。这是我在数据表中的路由调用以显示图像:
<img id="pic" src="{{url('api/image',['folder/subfolder1',$data->image]}}" style="width:150;height:150"/>
我得到一个错误,导致“文件夹/子文件夹1”上的“/”变为“%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="{!! url('api/image',['folder/subfolder1',$data->image] !!}" ... />
我也许还会让路由更简单一点——为什么不直接使用api/image/folder/subfolder1/'.$data->image
或类似的?
推荐阅读
- aws-lambda - AWS Pinpoint 自定义通道:无法正确调用挂钩中指定的 Lambda 函数
- amazon-ec2 - 如何将我的 ec2 实例共享给我组织内的其他账户?
- javascript - 在 slideToggle 回调中传递动态创建的 ID
- node.js - 如何在较大项目中的隔离文件上使用本地 TypeScript 和 npm?
- docker - Docker 入口点权限被拒绝
- python - 如何将矩阵中的元素转换为二进制,并展开矩阵,并可以逆运算
- android - 您可以从清单文件安装 PWA 吗?
- angular - 当 Object 键也是 Object 类型时如何使用 Maps
- excel - 运行时错误 1004,无法获取工作表函数类的 HLookup 属性
- c# - 由于隐藏属性,使用 FluentValidation 验证分层对象失败