首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PHP将图像上传到固定存储

如何使用PHP将图像上传到固定存储
EN

Stack Overflow用户
提问于 2020-12-17 09:52:21
回答 2查看 195关注 0票数 2

我在将图像上传到Firestore存储时遇到了麻烦。以下是问题所在:

代码语言:javascript
复制
Fatal error: Uncaught Google\Cloud\Core\Exception\ServiceException:
{
  "error": {
    "code": 403,
    "message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.",
    "errors": [
      {
        "message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.",
        "domain": "global",
        "reason": "forbidden"
      }
    ]
  }
} in C:\xampp\htdocs\cariMakan\vendor\google\cloud-core\src\RequestWrapper.php:368
Stack trace:
#0 C:\xampp\htdocs\cariMakan\vendor\google\cloud-core\src\RequestWrapper.php(207): Google\Cloud\Core\RequestWrapper->convertToGoogleException(Object(GuzzleHttp\Exception\ClientException))
#1 C:\xampp\htdocs\cariMakan\vendor\google\cloud-core\src\Upload\MultipartUploader.php(44): Google\Cloud\Core\RequestWrapper->send(Object(GuzzleHttp\Psr7\Request), Array)
#2 C:\xampp\htdocs\cariMakan\vendor\google\cloud-storage\src\Bucket.php(294): Googl in C:\xampp\htdocs\cariMakan\vendor\google\cloud-core\src\RequestWrapper.php on line 368

我在网上有搜索,我需要给用户许可。我就这样给你

但还是没有运气。

这是我的代码:

代码语言:javascript
复制
$this->bucket = $this->storage->bucket($ref);
$this->bucket->upload(
    file_get_contents($data['tmp_name']),
    [
        'name' => $data['name']
    ]
);

怎么修呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-18 04:44:31

我解决了这个问题,产生这样错误信息的东西

代码语言:javascript
复制
```message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.", "domain": "global", "reason": "forbidden"```
代码语言:javascript
复制

是因为我叫错了桶名。因此,在调用上传函数之前,首先要确保调用exist函数,这样您就可以确保存储桶是正确的。

票数 0
EN

Stack Overflow用户

发布于 2020-12-17 10:58:40

代码语言:javascript
复制
message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.", "domain": "global", "reason": "forbidden"

错误清楚地表明服务帐户不允许访问存储桶。

您需要确保正确设置服务帐户以访问存储桶。

这就是你的问题所在。我假设你在使用https://firebase-php.readthedocs.io/en/5.14.0/cloud-storage.html

您应该确保成功地连接到firebase。然后确保存储规则适用于您的应用程序。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65338295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档