From 926e16bde64c65a7b892071210b59e7723e7785b Mon Sep 17 00:00:00 2001 From: Karson <karsonzhang@163.com> Date: Thu, 13 Aug 2020 22:37:04 +0800 Subject: [PATCH] 优化分片上传配置开关和分片大小 --- application/admin/view/common/header.html | 4 ++-- application/admin/view/general/attachment/add.html | 6 ------ application/common/library/Upload.php | 8 ++++++++ application/common/model/Config.php | 2 ++ application/extra/upload.php | 4 ++++ public/assets/js/require-upload.js | 5 +++++ 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/application/admin/view/common/header.html b/application/admin/view/common/header.html index a6cbd02..207af2d 100755 --- a/application/admin/view/common/header.html +++ b/application/admin/view/common/header.html @@ -65,7 +65,7 @@ <!-- 账号信息下拉框 --> <li class="dropdown user user-menu"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> - <img src="{$admin.avatar|cdnurl|htmlentities}" class="user-image" alt="{$admin.nickname|htmlentities}"> + <img src="{$admin.avatar|cdnurl|htmlentities}" class="user-image" alt=""> <span class="hidden-xs">{$admin.nickname|htmlentities}</span> </a> <ul class="dropdown-menu"> @@ -112,4 +112,4 @@ </ul> </div> {/if} -</nav> \ No newline at end of file +</nav> diff --git a/application/admin/view/general/attachment/add.html b/application/admin/view/general/attachment/add.html index 8625220..edcdd81 100644 --- a/application/admin/view/general/attachment/add.html +++ b/application/admin/view/general/attachment/add.html @@ -11,9 +11,6 @@ <label for="c-third" class="control-label col-xs-12 col-sm-2"></label> <div class="col-xs-12 col-sm-8"> <button type="button" id="faupload-third" class="btn btn-danger faupload" data-multiple="true" data-input-id="c-third" ><i class="fa fa-upload"></i> {:__("Upload to third")}</button> - {if config('upload.chunking')} - <button type="button" id="faupload-third-chunk" class="btn btn-danger faupload" data-chunking="true" data-multiple="true" data-input-id="c-third" ><i class="fa fa-upload"></i> {:__("Upload to third by chunk")}</button> - {/if} </div> </div> {/if} @@ -29,9 +26,6 @@ <label for="c-local" class="control-label col-xs-12 col-sm-2"></label> <div class="col-xs-12 col-sm-8"> <button type="button" id="faupload-local" class="btn btn-primary faupload" data-input-id="c-local" data-url="{:url('ajax/upload')}"><i class="fa fa-upload"></i> {:__("Upload to local")}</button> - {if config('upload.chunking')} - <button type="button" id="faupload-local-chunking" class="btn btn-primary faupload" data-chunking="true" data-input-id="c-local" data-url="{:url('ajax/upload')}"><i class="fa fa-upload"></i> {:__("Upload to local by chunk")}</button> - {/if} </div> </div> diff --git a/application/common/library/Upload.php b/application/common/library/Upload.php index b759d3c..f526bdf 100644 --- a/application/common/library/Upload.php +++ b/application/common/library/Upload.php @@ -174,6 +174,14 @@ class Upload var_dump($array); } + /** + * 合并分片文件 + * @param string $chunkid + * @param int $chunkcount + * @param string $filename + * @return attachment|\think\Model + * @throws UploadException + */ public function merge($chunkid, $chunkcount, $filename) { $filePath = $this->chunkDir . DS . $chunkid; diff --git a/application/common/model/Config.php b/application/common/model/Config.php index d8efa4e..8e3173b 100644 --- a/application/common/model/Config.php +++ b/application/common/model/Config.php @@ -171,6 +171,8 @@ class Config extends Model 'bucket' => 'local', 'maxsize' => $uploadcfg['maxsize'], 'mimetype' => $uploadcfg['mimetype'], + 'chunking' => $uploadcfg['chunking'], + 'chunksize' => $uploadcfg['chunksize'], 'multipart' => [], 'multiple' => $uploadcfg['multiple'], ]; diff --git a/application/extra/upload.php b/application/extra/upload.php index c53b104..905cb3e 100644 --- a/application/extra/upload.php +++ b/application/extra/upload.php @@ -30,4 +30,8 @@ return [ * 是否支持分片上传 */ 'chunking' => false, + /** + * 默认分片大小 + */ + 'chunksize' => 2097152, ]; diff --git a/public/assets/js/require-upload.js b/public/assets/js/require-upload.js index 2e338a9..9aa6835 100755 --- a/public/assets/js/require-upload.js +++ b/public/assets/js/require-upload.js @@ -141,6 +141,9 @@ define(['jquery', 'bootstrap', 'dropzone', 'template'], function ($, undefined, //上传URL url = url ? url : Config.upload.uploadurl; url = Fast.api.fixurl(url); + var chunking = Config.upload.chunking || false, + chunkSize = Config.upload.chunksize || 2097152; + //最大可上传文件大小 maxsize = typeof maxsize !== "undefined" ? maxsize : Config.upload.maxsize; //文件类型 @@ -190,6 +193,8 @@ define(['jquery', 'bootstrap', 'dropzone', 'template'], function ($, undefined, } return params; }, + chunking: chunking, + chunkSize: chunkSize, maxFilesize: maxFilesize, acceptedFiles: mimetype, maxFiles: (maxcount && parseInt(maxcount) > 1 ? maxcount : (multiple ? null : 1)), -- libgit2 0.24.0