3 回答
TA贡献1898条经验 获得超8个赞
这确实按预期工作:由于您的上传不是通过 Firebase SDK,因此没有方法生成下载 URL。
常见的解决方法是创建一个过期时间很远的签名 URL ,这是 Cloud Storage 与 Firebase 的下载 URL 最接近的等效项。
TA贡献1802条经验 获得超6个赞
我采用了一种间接的方式来生成和存储访问令牌。
$payload = file_get_contents('https://firebasestorage.googleapis.com/v0/b/example.appspot.com/o/Photos%2Fpic.jpeg');
$data = json_decode($payload);
echo $data->downloadTokens;
此代码已创建访问令牌,并在屏幕上显示 downloadToken。
谢谢大家的回答。
TA贡献1860条经验 获得超8个赞
您还可以将publicRead
ACL分配给上传的文件并手动编写公共URL:
$bucketName = "example.appspot.com";
$objectName = 'Photos/test.jpeg';
$storage = new StorageClient();
$bucket = $storage->bucket($bucketName);
$object = $bucket->upload(fopen('sign.jpeg', 'r'), [
'name' => $objectName
'predefinedAcl' => 'publicRead'
]);
$publicUrl = "https://{$bucket->name()}.storage.googleapis.com/{$object->name()}";
- 3 回答
- 0 关注
- 109 浏览
添加回答
举报