feat(upload): 添加华为 OBS 对象存储支持

- 在 addons.php 中添加了与华为 OBS 相关的钩子
- 新增了对华为 OBS 上传功能的实现,包括分片上传和合并
- 优化了上传参数处理和错误处理
- 支持客户端和服务端两种上传模式
This commit is contained in:
2025-04-26 15:49:23 +08:00
parent c6a4e1f5f6
commit 32612f3103
37 changed files with 18296 additions and 3 deletions

View File

@@ -0,0 +1,35 @@
<?php
/**
* Copyright 2019 Huawei Technologies Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use
* this file except in compliance with the License. You may obtain a copy of the
* License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*
*/
namespace Obs\Internal\Resource;
class OBSConstants extends Constants {
const FLAG = 'OBS';
const METADATA_PREFIX = 'x-obs-meta-';
const HEADER_PREFIX = 'x-obs-';
const ALTERNATIVE_DATE_HEADER = 'x-obs-date';
const SECURITY_TOKEN_HEAD = 'x-obs-security-token';
const TEMPURL_AK_HEAD = 'AccessKeyId';
const COMMON_HEADERS = [
'content-length' => 'ContentLength',
'date' => 'Date',
'x-obs-request-id' => 'RequestId',
'x-obs-id-2' => 'Id2',
'x-reserved' => 'Reserved'
];
}