100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 阿里云OSS 上传文件

阿里云OSS 上传文件

时间:2022-12-21 04:03:52

相关推荐

阿里云OSS 上传文件

* OSS.php

<?phpnamespace App\Helpers\Utils\Alibaba;use OSS\OssClient;// composer require aliyuncs/oss-sdk-php// @ref: /document_detail/31855.html?spm=5176.87240.400427.25.38a04614SOLza3// @ref: https://oss./overview// 因为语音识别服务,音频文件必须是在阿里云OSS对象存储空间, 所以音频文件要先传到阿里云OSS// /document_detail/90727.htmlclass OSS{/** @var OssClient */protected $client;const END_POINT = "oss-cn-";public function __construct(){$accessKeyId = config('constant.alibaba_access_key_id');$accessKeySecret = config('constant.alibaba_access_key_secret');$endpoint = "http://".self::END_POINT;$this->client = new OssClient($accessKeyId, $accessKeySecret, $endpoint);// 设置Socket层传输数据的超时时间,单位秒,默认5184000秒。$this->client->setTimeout(3600);// 设置建立连接的超时时间,单位秒,默认10秒。$this->client->setConnectTimeout(10);}public function upload(string $targetUri, string $srcPath, $bucket = "asr021") {// $this->client->createBucket($bucket);$content = file_get_contents($srcPath);$this->client->putObject($bucket, $targetUri, $content);// $listObjectInfo = $this->client->listObjects($bucket);// return $listObjectInfo->getObjectList();return $targetUri;}public function bucket(string $bucket) {$this->client->createBucket($bucket, OssClient::OSS_ACL_TYPE_PUBLIC_READ);return $this;}}

Usage:

use App\Helpers\Utils\Alibaba\NLSFileTrans;use App\Helpers\Utils\Alibaba\OSS; // path为待上传文件的真实路径, bucket为oss文件存储分组名$oss = new OSS();$filename = md5_file($path);$uri = sprintf("%s/%s.%s", date("Y-m-d", time()), $filename, $ext);$oss->bucket($bucket)->upload($uri, $path, $bucket);return "https://".$bucket.".".OSS::END_POINT."/".$uri;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。