早上好,
我正在通过VichUploaderBundle在本地上传我的文件。每件事都很完美。
现在我不想再在本地存储我的文件:我想将它们存储在谷歌云存储上。我发现KnpGaufretteBundle可以用于在云中存储文件。
那么,关于如何在google-cloud-storage
上配置Gaufrette(php包)或KnpGaufrette bundle(symfony bundle)来存储/上传/读取文件,是否有任何示例或示例链接?
我唯一找到的是链接,它是GoogleCloudStorage的适配器类。
我找到了另一个关于这个问题的链接,但它提出了一个在amazon-s3
上存储文件的例子:upload-files-to-amazon-s3-with-symfony2-and-gaufrette
谢谢你的帮助。。。
可以使用KnpGaufretteBundle来实现这一点。您只需要创建一个工厂,创建一个经过完全身份验证的谷歌客户端,并将谷歌服务存储与该客户端一起返回。类似的东西:
/**
* @return Google_Service_Storage
*/
public function createService($privateKeyPath, $password, $googleAccountName)
{
$client = new Google_Client();
$scopes = array(
'https://www.googleapis.com/auth/devstorage.read_write'
);
$privateKey = file_get_contents($privateKeyPath);
$credential = new Google_Auth_AssertionCredentials(
$googleAccountName, $scopes, $privateKey, $password
);
$client->setAssertionCredentials($credential);
return new Google_Service_Storage($client);
}
您还需要配置KnpGaufretteBundle,以便查看:KnpGaufretteBundle GoogleCloudStorage
GitHub上有一篇文章解释了工厂问题:后