我希望在firebase项目中创建多个用户存储桶 . 据我所知,通过前端Web应用程序,我无法创建存储桶,因此我有一个HTTPS API,可以在firebase中的项目ID中创建一个存储桶 .

当我尝试获取引用并在存储桶中创建文件夹结构以在Web应用程序中上传文件时,我在chrome控制台中收到存储/未知错误...就像我运行POST命令一样

{
  "error": {
   "code": 404,
   "message": "Not Found.  Could not access bucket 
       gs://h4yrch<edited for privacy>q2_1"
    } . 
}

我的逻辑 - >在用户在web应用中使用firebase auth进行身份验证时,调用HTTPS API在项目中创建存储桶 .

console.log('Creating New Bucket');
   bucketName = uid.toLowerCase()+'_1';
   // Creates the new bucket
   storage
     .createBucket(bucketName)
     .then(() => {
       console.log(`Bucket ${bucketName} created for the user`);
       helper.success(res,'Created');

     })
     .catch(err => {
       console.error('ERROR:', err);
       helper.failure(res,err,401);
     });

然后在Web应用程序中检索存储并放置用户希望上传的文件 .

var userBucket = 'gs://'+this.user.uid.toLowerCase()+'_1';
        //get file
        var file = e.target.files[0];

        var storage = firebase.app().storage(userBucket);
        console.log('storage object ='+storage);
        //upload file
        var storageRef = storage.ref().child('transaction_images/'+file.name);
        var task = storageRef.put(file);

希望将文件放在用户存储桶中的transactions_images文件夹中 . 我正在使用Polymer 2.0并使用初始化firebase应用程序

<firebase-app
    auth-domain="[[configFirebase.authDomain]]"
    database-url="[[configFirebase.databaseURL]]"
    api-key="[[configFirebase.apiKey]]"
    storage-bucket="[[configFirebase.storageBucket]]"
    messaging-sender-id="[[configFirebase.messagingSenderId]]">
</firebase-app>

在Web应用程序页面中,我尝试更改firebase存储,但似乎不起作用 .

我花了一天时间尝试多种方法 . 非常感谢您的帮助 .

或者,我可以使用默认存储并创建每个用户文件夹来存储文件 . 我不确定桶的最大尺寸是多少 .

附加信息:我使用npm package @ google-cloud / storage创建了存储桶 . 我可以在Google Cloud Console中查看该存储桶,但不能在Firebase控制台中看到该存储桶 .

谢谢