diff --git a/application/api/controller/Common.php b/application/api/controller/Common.php index 61682934..b921908a 100644 --- a/application/api/controller/Common.php +++ b/application/api/controller/Common.php @@ -47,7 +47,7 @@ class Common extends Api } $upload['cdnurl'] = $upload['cdnurl'] ? $upload['cdnurl'] : cdnurl('', true); - $upload['uploadurl'] = $upload['bucket'] == 'local' ? cdnurl('/api/common/upload', true) : url($upload['uploadurl'], '', false, true); + $upload['uploadurl'] = preg_match("/^((?:[a-z]+:)?\/\/)(.*)/i", $upload['uploadurl']) ? $upload['uploadurl'] : url($upload['bucket'] == 'local' ? '/api/common/upload' : $upload['uploadurl'], '', false, true); $content = [ 'citydata' => Area::getCityFromLngLat($lng, $lat), diff --git a/application/common/model/Config.php b/application/common/model/Config.php index 5fc4af4a..87fa1850 100644 --- a/application/common/model/Config.php +++ b/application/common/model/Config.php @@ -171,7 +171,10 @@ class Config extends Model $uploadurl = request()->module() ? $uploadcfg['uploadurl'] : ($uploadcfg['uploadurl'] === 'ajax/upload' ? 'index/' . $uploadcfg['uploadurl'] : $uploadcfg['uploadurl']); - $uploadurl = url($uploadurl, '', false, false); + if (!preg_match("/^((?:[a-z]+:)?\/\/)(.*)/i", $uploadurl) && substr($uploadurl, 0, 1) !== '/') { + $uploadurl = url($uploadurl, '', false); + } + $upload = [ 'cdnurl' => $uploadcfg['cdnurl'], 'uploadurl' => $uploadurl,