getFileName(); $fileType = $file->getClientOriginalExtension(); $key = date("Ym/d") . "/" . $fileName . time() . "." . $fileType; $client = $this->newClient(); $acl = "default"; $storageClass = "Standard"; $request = new Oss\Models\PutObjectRequest($bucket, $key); $body = Oss\Utils::streamFor(fopen($file, 'r')); $request->body = $body; $request->storageClass = $storageClass; $request->acl = $acl; $result = $client->putObject($request); $url = $host . "/" . $key; if ($result->statusCode == 200) { return $url; } return ""; } private function newClient(): Oss\Client { $region = config("alioss.region"); $endpoint = config("alioss.endpoint"); $accessId = config("alioss.id"); $accessSecret = config("alioss.secret"); $credentialsProvider = new Oss\Credentials\StaticCredentialsProvider($accessId, $accessSecret); $cfg = new Oss\Config(); $cfg->setCredentialsProvider($credentialsProvider); // 设置凭证提供者 $cfg->setRegion($region); $cfg->setConnectTimeout(10); $cfg->setReadwriteTimeout(3600); $cfg->setEndpoint($endpoint); // 创建OSS客户端实例 $client = new Oss\Client($cfg); return $client; } }