亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 PHP 將圖片上傳到 Firebase 存儲,但必須手動創建訪問令牌才能使其可見

使用 PHP 將圖片上傳到 Firebase 存儲,但必須手動創建訪問令牌才能使其可見

PHP
縹緲止盈 2023-10-22 22:00:24
我正在使用 PHP 將圖像上傳到 firebase 存儲。圖片正在上傳,但無法訪問,因為我必須手動創建“訪問令牌”才能訪問它。這是我使用的代碼 $bucketName = "example.appspot.com";$objectName = 'Photos/test.jpeg';$storage = new StorageClient();$bucket = $storage->bucket($bucketName);$object = $bucket->upload(fopen('sign.jpeg', 'r'),    [       'name' => $objectName        ]     ); 
查看完整描述

3 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

這確實按預期工作:由于您的上傳不是通過 Firebase SDK,因此沒有方法生成下載 URL。

常見的解決方法是創建一個過期時間很遠的簽名 URL ,這是 Cloud Storage 與 Firebase 的下載 URL 最接近的等效項。


查看完整回答
反對 回復 2023-10-22
?
呼啦一陣風

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。


謝謝大家的回答。


查看完整回答
反對 回復 2023-10-22
?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

您還可以將publicReadACL分配給上傳的文件并手動編寫公共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()}";


查看完整回答
反對 回復 2023-10-22
  • 3 回答
  • 0 關注
  • 178 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號