From e7cb857b760143f5c19f77c4cebac8a2c8d81924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E6=99=AF=E7=AB=8B?= Date: Tue, 18 Apr 2017 17:14:44 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=9B=B4=E6=96=B0]=E4=BF=AE=E5=A4=8D=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8A=E4=BC=A0=E5=BC=95=E6=93=8E=E9=80=89=E7=94=A8?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/controller/Config.php | 2 +- application/admin/controller/Plugs.php | 6 +- application/admin/view/config.file.html | 203 ++++++++++++++---------- extend/service/FileService.php | 41 +++++ 4 files changed, 165 insertions(+), 87 deletions(-) diff --git a/application/admin/controller/Config.php b/application/admin/controller/Config.php index 408582c08..07bcf97ac 100644 --- a/application/admin/controller/Config.php +++ b/application/admin/controller/Config.php @@ -58,7 +58,7 @@ class Config extends BasicAdmin { */ public function file() { $alert = [ - 'type' => 'info', + 'type' => 'success', 'title' => '操作提示', 'content' => '文件引擎参数影响全局文件上传功能,请勿随意修改!' ]; diff --git a/application/admin/controller/Plugs.php b/application/admin/controller/Plugs.php index 53c633c66..cabd73b64 100644 --- a/application/admin/controller/Plugs.php +++ b/application/admin/controller/Plugs.php @@ -85,14 +85,14 @@ class Plugs extends BasicAdmin { $this->result(['site_url' => $site_url], 'IS_FOUND'); } // 需要上传文件,生成上传配置参数 - $config = ['uptype' => $post['uptype'], 'file_url' => $filename, 'server' => url('admin/plugs/upload')]; + $config = ['uptype' => $post['uptype'], 'file_url' => $filename]; switch (strtolower($post['uptype'])) { case 'qiniu': - $config['server'] = sysconf('storage_qiniu_is_https') ? 'https://up.qbox.me' : 'http://upload.qiniu.com'; + $config['server'] = FileService::getUploadQiniuUrl(true); $config['token'] = $this->_getQiniuToken($filename); break; case 'local': - $config['server'] = url('admin/plugs/upload'); + $config['server'] = FileService::getUploadLocalUrl(); break; } $this->result($config, 'NOT_FOUND'); diff --git a/application/admin/view/config.file.html b/application/admin/view/config.file.html index 05ec5254b..b201f8897 100644 --- a/application/admin/view/config.file.html +++ b/application/admin/view/config.file.html @@ -1,97 +1,134 @@ {extend name="extra@admin/content"} {block name="content"} -
-
-
-
- 文件存储 -
+ -
- -
- -
- 若还没有帐号,请点击免费申请10G存储空间,申请成功后添加公开bucket空间! -
-
-
- -
- -
- - {if sysconf('storage_qiniu_is_https')==1} - - {else/} - - {/if} -
-
是否启用https访问资源!
-
- -
- -
- -
-
填写七牛云bucket名称,如:static
-
- -
- -
- -
只需填写域名,如:static.cdn.cuci.cc
-
-
- -
- -
- -
-
- -
- -
- -
-
- -
-
- -
-
-
+
+ +
+ +
+ 若还没有七牛云帐号,请点击 + 免费申请10G存储空间, + 申请成功后添加公开bucket空间 +
+
-
+
+ +
+ +
+ +

七牛云存储空间所在域名,需要严格对应储存所在区域,否则无法上传文件。

+
+
+ +
+ +
+ +

七牛云资源访问协议(http或https),https 需要单独配置证书

+
+
+ + +
+ +
+ +

填写七牛云存储空间名称,如:static

+
+
+ +
+ +
+ +

填写七牛云存储绑定域名,如:static.cdn.cuci.cc

+
+
+ +
+ +
+ +

可以在 七牛云 个人中心 设置并获取到访问密钥

+
+
+ + +
+ +
+ +

可以在 七牛云 个人中心 设置并获取到安全密钥

+
+
+ +
+ +
+
+ +
+
+ {/block} {block name="script"} {/block} \ No newline at end of file diff --git a/extend/service/FileService.php b/extend/service/FileService.php index 2c0a0c39a..122f2b36d 100644 --- a/extend/service/FileService.php +++ b/extend/service/FileService.php @@ -67,6 +67,47 @@ class FileService { return false; } + /** + * 根据配置获取到七牛云文件上传目标地址 + * @return string + */ + public static function getUploadLocalUrl() { + return url('@admin/plugs/upload'); + } + + /** + * 根据配置获取到七牛云文件上传目标地址 + * @param bool $isClient + * @return string + */ + public static function getUploadQiniuUrl($isClient = true) { + $region = sysconf('storage_qiniu_region'); + $isHttps = !!sysconf('storage_qiniu_is_https'); + switch ($region) { + case '华东': + if ($isHttps) { + return $isClient ? 'https://upload.qbox.me' : 'https://up.qbox.me'; + } + return $isClient ? 'http://upload.qiniu.com' : 'http://up.qiniu.com'; + case '华北': + if ($isHttps) { + return $isClient ? 'https://upload-z1.qbox.me' : 'https://up-z1.qbox.me'; + } + return $isClient ? 'http://upload-z1.qiniu.com' : 'http://up-z1.qiniu.com'; + case '北美': + if ($isHttps) { + return $isClient ? 'https://upload-na0.qbox.me' : 'https://up-na0.qbox.me'; + } + return $isClient ? 'http://upload-na0.qiniu.com' : 'http://up-na0.qiniu.com'; + case '华南': + default: + if ($isHttps) { + return $isClient ? 'https://upload-z2.qbox.me' : 'https://up-z2.qbox.me'; + } + return $isClient ? 'http://upload-z2.qiniu.com' : 'http://up-z2.qiniu.com'; + } + } + /** * 获取服务器URL前缀 * @return string