Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase存储权限未知,存在React本机映像上载错误_Javascript_Firebase_React Native_Firebase Storage - Fatal编程技术网

Javascript Firebase存储权限未知,存在React本机映像上载错误

Javascript Firebase存储权限未知,存在React本机映像上载错误,javascript,firebase,react-native,firebase-storage,Javascript,Firebase,React Native,Firebase Storage,实际演示视频: Firebase存储规则: service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow write: if request.resource.size < 5 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); }

实际演示视频:

Firebase存储规则:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow write: if request.resource.size < 5 * 1024 * 1024
                   && request.resource.contentType.matches('image/.*');
    }
  }
}
Firebase存储错误:

FirebaseStorageError {
   "code_": "storage/unknown",
   "column": 31,
   "line": 17422,
   "message_": "Firebase Storage: An unknown error occurred, please check the error payload for server response.",
   "name_": "FirebaseError",
   "serverResponse_": "{
   \"error\": {
     \"code\": 400,
     \"message\": \"Permission denied. Could not access bucket crna-app-01.appspot.com. Please enable Firebase Storage for your bucket by visiting the Storage tab in the Firebase Console and ensure that you have sufficient permission to properly provision resources.\"
   }
 }",
   "sourceURL": "http://10.1.0.6:19001/node_modules/expo/AppEntry.bundle?platform=android&dev=true&minify=false&hot=false&assetPlugin=%2FUsers%2Fajinkyaborade%2Fprojects%2Fnative-apps%2Fmy-react-redux%2Fnode_modules%2Fexpo%2Ftools%2FhashAssetFiles",
 }
这是我的Expo RN应用程序文件中的实际函数

async function uploadImageAsync(uri, uid, firebase) {

  const response = await fetch(uri);

  const blob = await response.blob();

  const ref = firebase
    .storage()
    .ref('users/' + uid)
    .child(uuid.v4());

  const snapshot = await ref.put(blob); // actual Firebase error comes here
  return snapshot.downloadURL;
}

非常感谢您的帮助:

这是Firebase storage admin的问题

转到控制台>存储

选择您的存储桶,然后单击“显示信息”面板。

-添加firebase-storage@system.gserviceaccount.com作为存储管理员
完成

这是来自上面的Firebase存储错误消息:权限被拒绝。无法访问bucket crna-app-01.appspot.com。请访问Firebase控制台中的存储选项卡,为您的存储桶启用Firebase存储,并确保您有足够的权限正确调配资源。“这条消息对你来说是有意义的还是可行的?”道格·史蒂文森感谢你的回复。我以前用同样的方法上传过文件,但突然它停止了工作。是,已启用存储。我甚至还添加了一些规则,请帮助我们突然理解。请编辑该问题,使其包含以前有效但现在不再有效的内容*,而不会更改您发布的内容。更新的问题@Dougstevenson我尝试了规则允许写入;还是一样的问题谢谢你
async function uploadImageAsync(uri, uid, firebase) {

  const response = await fetch(uri);

  const blob = await response.blob();

  const ref = firebase
    .storage()
    .ref('users/' + uid)
    .child(uuid.v4());

  const snapshot = await ref.put(blob); // actual Firebase error comes here
  return snapshot.downloadURL;
}