- 优化服务

v6 v6.0.130
李光春 4 years ago
parent 27c58aa8df
commit fe399c4875

@ -1,3 +1,6 @@
## v6.0.130 / 2020-11-26
- 优化服务
## v6.0.129 / 2020-11-26
- 优化服务

@ -25,7 +25,7 @@ use DtApp\ThinkLibrary\service\SystemService;
/**
* 定义当前版本
*/
const VERSION = '6.0.129';
const VERSION = '6.0.130';
if (!function_exists('get_ip_info')) {
/**

@ -79,15 +79,16 @@ class OssService extends Service
/**
* @param string $object
* @param string $filePath
* @return string|null
* @return bool
*/
public function upload(string $object, string $filePath): ?string
public function upload(string $object, string $filePath): bool
{
try {
$ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
return $ossClient->uploadFile($this->bucket, $object, $filePath);
$ossClient->uploadFile($this->bucket, $object, $filePath);
return true;
} catch (OssException $e) {
return $e->getMessage();
return false;
}
}
}

@ -79,10 +79,10 @@ class BosService extends Service
/**
* @param string $object
* @param string $filePath
* @return mixed
* @return bool
* @throws Exception
*/
public function upload(string $object, string $filePath)
public function upload(string $object, string $filePath): bool
{
// 设置BosClient的Access Key ID、Secret Access Key和ENDPOINT
$BOS_TEST_CONFIG = array(
@ -94,6 +94,7 @@ class BosService extends Service
);
$client = new BosClient($BOS_TEST_CONFIG);
// 从文件中直接上传Object
return $client->putObjectFromFile($this->bucket, $object, $filePath);
$client->putObjectFromFile($this->bucket, $object, $filePath);
return true;
}
}

@ -78,9 +78,9 @@ class ObsService extends Service
/**
* @param string $object
* @param string $filePath
* @return bool|\Obs\Internal\Common\Model
* @return bool
*/
public function upload(string $object, string $filePath)
public function upload(string $object, string $filePath): bool
{
// 创建ObsClient实例
$obsClient = new ObsClient([
@ -94,7 +94,7 @@ class ObsService extends Service
'SourceFile' => $filePath // localfile为待上传的本地文件路径需要指定到具体的文件名
]);
if (isset($resp['RequestId'])) {
return $resp;
return true;
}
return false;

@ -106,7 +106,8 @@ class Ks3Service extends Service
]
];
try {
return $client->putObjectByFile($args);
$client->putObjectByFile($args);
return true;
} catch (Ks3ServiceException $e) {
return false;
}

@ -5,31 +5,31 @@ date_default_timezone_set('Asia/Shanghai');
//检测API路径
if (!defined("KS3_API_PATH")) {
define("KS3_API_PATH", __DIR__);
define("KS3_API_PATH", __DIR__);
}
//是否使用VHOST
if (!defined("KS3_API_VHOST")) {
define("KS3_API_VHOST", FALSE);
define("KS3_API_VHOST", FALSE);
}
//是否开启日志(写入日志文件)
if (!defined("KS3_API_LOG")) {
define("KS3_API_LOG", FALSE);
define("KS3_API_LOG", FALSE);
}
//是否显示日志(直接输出日志)
if (!defined("KS3_API_DISPLAY_LOG")) {
define("KS3_API_DISPLAY_LOG", FALSE);
define("KS3_API_DISPLAY_LOG", FALSE);
}
//定义日志目录(默认是该项目log下)
if (!defined("KS3_API_LOG_PATH")) {
define("KS3_API_LOG_PATH", "");
define("KS3_API_LOG_PATH", "");
}
//是否使用HTTPS
if (!defined("KS3_API_USE_HTTPS")) {
define("KS3_API_USE_HTTPS", FALSE);
define("KS3_API_USE_HTTPS", FALSE);
}
//是否开启curl debug模式
if (!defined("KS3_API_DEBUG_MODE")) {
define("KS3_API_DEBUG_MODE", FALSE);
define("KS3_API_DEBUG_MODE", FALSE);
}
define("KS3_API_Author", "lijunwei@kingsoft.com");
define("KS3_API_Version", "1.2");
@ -68,7 +68,6 @@ class Ks3Client
private $accessKey;
private $secretKey;
private $endpoint;
private $log;
public function __construct($accessKey = NULL, $secretKey = NULL, $endpoint = NULL)
{
@ -81,48 +80,47 @@ class Ks3Client
$this->endpoint = $endpoint;
$this->signers = array();
$this->log = new Logger();
}
/**
* 方法列表:(具体使用请参考readme.md)
* listBuckets,罗列bucket
* deleteBucket删除bucket
* deleteBucketCORS删除bucket跨域配置
* createBucket,新建bucket
* setBucketAcl设置bucket访问权限
* setBucketCORS,设置bucket跨域配置
* setBucketLogging,设置bucket日志配置
* listObjects,罗列object
* getBucketAcl,获取bucket访问权限
* getBucketCORS,获取bucket跨域配置
* getBucketLocation,获取bucket地点配置
* getBucketLogging,获取bucket日志配置
* bucketExists,判断bucket是否存在
* listMutipartUploads,罗列当前bucket下尚未结束的分块上传
* putObjectByContent,上传文件
* putObjectByFile,上传文件
* setObjectAcl设置object访问权限
* copyObject,复制object
* getObjectMeta获取object元数据
* objectExists判断object是否存在
* deleteObject删除object
* deleteObjects删除多个object
* getObject下载object
* getObjectAcl获取object访问权限
* initMultipartUpload初始化分块上传
* uploadPart上传块
* abortMultipartUpload终止分块上传
* listParts罗列已经上传的块
* completeMultipartUpload完成分块上传
* generatePresignedUrl生成文件外链
* putAdp,添加异步数据处理任务
* getAdp,查询异步数据处理任务
* @param $method
* @param array $args
* @return ResponseCore|string|string[]|null
* @throws Exception
*/
/**
* 方法列表:(具体使用请参考readme.md)
* listBuckets,罗列bucket
* deleteBucket删除bucket
* deleteBucketCORS删除bucket跨域配置
* createBucket,新建bucket
* setBucketAcl设置bucket访问权限
* setBucketCORS,设置bucket跨域配置
* setBucketLogging,设置bucket日志配置
* listObjects,罗列object
* getBucketAcl,获取bucket访问权限
* getBucketCORS,获取bucket跨域配置
* getBucketLocation,获取bucket地点配置
* getBucketLogging,获取bucket日志配置
* bucketExists,判断bucket是否存在
* listMutipartUploads,罗列当前bucket下尚未结束的分块上传
* putObjectByContent,上传文件
* putObjectByFile,上传文件
* setObjectAcl设置object访问权限
* copyObject,复制object
* getObjectMeta获取object元数据
* objectExists判断object是否存在
* deleteObject删除object
* deleteObjects删除多个object
* getObject下载object
* getObjectAcl获取object访问权限
* initMultipartUpload初始化分块上传
* uploadPart上传块
* abortMultipartUpload终止分块上传
* listParts罗列已经上传的块
* completeMultipartUpload完成分块上传
* generatePresignedUrl生成文件外链
* putAdp,添加异步数据处理任务
* getAdp,查询异步数据处理任务
* @param $method
* @param array $args
* @return ResponseCore|string|string[]|null
* @throws Exception
*/
public function __call($method, $args = array())
{
$holder = new MessageHolder();
@ -137,10 +135,9 @@ class Ks3Client
$ex = $e;
}
$holder->msg .= "------------------Logging End-------------------------\r\n";
$this->log->info($holder->msg);
if ($ex != NULL) {
throw $ex;
}
throw $ex;
}
return $result;
}
@ -167,8 +164,8 @@ class Ks3Client
} else {
$request->bucket = $args["Bucket"];
}
$position = $api["objectPostion"] ?? "Key";
if (empty($args[$position])) {
$position = $api["objectPostion"] ?? "Key";
if (empty($args[$position])) {
if ($api["needObject"]) {
throw new Ks3ClientException($method . " this api need " . $position);
}
@ -192,11 +189,10 @@ class Ks3Client
$request->method = $api["method"];
}
if (KS3_API_USE_HTTPS) {
$request->scheme = "https://";
}
else {
$request->scheme = "http://";
}
$request->scheme = "https://";
} else {
$request->scheme = "http://";
}
$request->endpoint = $this->endpoint;
//add subresource
if (!empty($api["subResource"])) {
@ -231,16 +227,16 @@ class Ks3Client
break;
}
$curIndexArg = $curIndexArg[$value1];
}
$curIndexArg = $curIndexArg[$value1];
}
}
if (!empty($curIndexArg) && $add) {
$request->addQueryParams($curkey, $curIndexArg);
continue;
}
if ($required) {
throw new Ks3ClientException($method . " param " . $value . " is required");
}
throw new Ks3ClientException($method . " param " . $value . " is required");
}
}
}
if (isset($api["body"])) {
@ -286,12 +282,12 @@ class Ks3Client
if ($signer === NULL || !($signer instanceof QueryAuthSigner)) {
$url = $request->toUrl($this->endpoint);
if ($location != NULL) {
$url = $location;
}
$url = $location;
}
$httpRequest = new RequestCore($url);
if (KS3_API_DEBUG_MODE === TRUE) {
$httpRequest->debug_mode = TRUE;
}
$httpRequest->debug_mode = TRUE;
}
$httpRequest->set_method($request->method);
foreach ($request->headers as $key => $value) {
$httpRequest->add_header($key, $value);
@ -351,14 +347,14 @@ class Ks3Client
return $data;
}
$url = $request->toUrl($this->endpoint);
$holder->msg .= $url . "\r\n";
return $url;
}
$url = $request->toUrl($this->endpoint);
$holder->msg .= $url . "\r\n";
return $url;
}
//用于生产表单上传时的签名信息
public function postObject($bucket, $postFormData = array(), $unknowValueFormFiled = array(), $filename = NULL, $expire = 18000): array
{
{
$policy = array();
$expireTime = Utils::iso8601(time() + $expire);
@ -386,6 +382,4 @@ class Ks3Client
$result["KSSAccessKeyId"] = $this->accessKey;
return $result;
}
}
}

@ -70,10 +70,10 @@ class KodoService extends Service
/**
* @param string $object
* @param string $filePath
* @return bool|mixed
* @return bool
* @throws Exception
*/
public function upload(string $object, string $filePath)
public function upload(string $object, string $filePath): bool
{
// 初始化签权对象
$auth = new Auth($this->accessKey, $this->secretKey);
@ -83,11 +83,7 @@ class KodoService extends Service
$uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传。
[$ret, $err] = $uploadMgr->putFile($token, $object, $filePath);
if ($err !== null) {
return false;
}
return $ret;
return !($err !== null);
}
}

@ -93,11 +93,12 @@ class CosService extends Service
$key = $object;
$file = fopen($filePath, "rb");
if ($file) {
return $cosClient->putObject([
$cosClient->putObject([
'Bucket' => $this->bucket,
'Key' => $key,
'Body' => $file
]);
return true;
}
return false;

@ -70,14 +70,15 @@ class UssService extends Service
/**
* @param string $object
* @param string $filePath
* @return array|bool
* @return bool
* @throws Exception
*/
public function upload(string $object, string $filePath)
public function upload(string $object, string $filePath): bool
{
$serviceConfig = new Config($this->serviceName, $this->operatorName, $this->operatorPassword);
$client = new Upyun($serviceConfig);
$file = fopen($filePath, 'r');
return $client->write($object, $file);
$client->write($object, $file);
return true;
}
}

Loading…
Cancel
Save