php - asset() 返回 //url... 而不是 http://url
问题描述
资产函数在 rest api 上的文件路径之前不返回 http:// 或 https://。
滑块资源
public function toArray($request)
{
return [
'title'=>$this->title_text,
'photo'=>asset('assets/images/sliders/'.$this->photo),
];
}
它应该返回类似的路径
"photo": "http://example.com/assets/images/sliders/image_name.jpg"
但它返回如下
"photo": "//example.com/assets/images/sliders/image_name.jpg"
这里是asset()
project \vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator
public function asset($path, $secure = null)
{
if ($this->isValidUrl($path)) {
return $path;
}
$root = $this->assetRoot
? $this->assetRoot
: $this->formatRoot($this->formatScheme($secure));
return $this->removeIndex($root).'/'.trim($path, '/');
}
N:B 最近我将这个项目从 laravel 5.6 升级到 7.0 并开始构建 rest api。但它在 5.6 上工作,我不确定它是否因升级而损坏,因为
asset()
在项目中的任何地方但在资源类中工作正常。
解决方案
推荐阅读
- python - 如何将 SoupStrainer 用于包含破折号的属性?
- awk - 使用单个 sed 调用来引导前 H 行并尾随最后 T 行
- world-of-warcraft - 为什么高招架几率法术不起作用?
- php - Azure 文件存储 putRange 操作失败并显示 416:InvalidHeaderValue (Content-Length)
- python-3.x - Pipeline OrdinalEncoder ValueError 发现未知类别
- django - 包含自定义数据类型的旧表的 Django 模型
- mobile - 如何以节能的方式使用 Android 接收驾驶开始和停止活动?
- java - 将 Map 的 entryset 表示为类型 T
- python - 无法在 rmarkdown 中导入 python 模块
- python - 使用 Alamofire iOS 将图像上传到 Base64 中的服务器