/** * downloadFile * 下载文件 * * @param string $bucket * @param string $src 远程文件名 * @param string $dest (optional) 本地文件路径 * @throws \GuzzleHttp\Exception\RequestException 请求失败时 * @return string|boolean */ public function downloadFile($bucket, $src, $dest = null) { $file = $this->queryFile($bucket, $src); $sign = $this->auth->generateOneTimeSign($src, $bucket, false); $url = $file->data->access_url . '?sign=' . $sign; if ($dest) { if (file_exists($dest) && strtolower($file->data->sha) == hash_file('sha1', $dest)) { return true; } $this->restClient->getHttpClient()->request('GET', $url, ['sink' => $dest]); return true; } return $url; }
public function testGetHttpClient() { $domain = $this->faker->domainName; $restClient = new RestClient(['domain' => $domain]); $httpClient = $restClient->getHttpClient(); $this->assertInstanceOf(HttpClient::class, $httpClient); }