我正在尝试用Flutter Web应用程序将文件上传到自定义Google云存储桶。
final _storage = FirebaseStorage.instanceFor(bucket: bucketName);
Reference documentRef = _storage.ref().child(filename);
await documentRef.putData(await data);
该代码在默认桶中工作正常,但在使用新的自定义GCP桶时失败。
Error: FirebaseError: Firebase Storage: An unknown error occurred, please check the error payload for server response. (storage/unknown)
导致此错误的HTTP POST响应显示:
{
"error": {
"code": 400,
"message": "Your bucket has not been set up properly for Firebase Storage. Please visit 'https://console.firebase.google.com/project/{my_project_name}/storage/rules' to set up security rules."
}
}
所以很明显,我需要向Firestore添加一个新的bucket并设置访问规则,然后才能将文件上传到那里。
由于这些bucket是由我的后端微服务自动创建的,是否有办法将它们添加到Firestore并使用Python SDK设置规则?或者,除了Firebase Storage之外,是否有其他方法可以使用Flutter将数据上传到GCP bucket?
谢谢你。
1条答案
按热度按时间4dbbbstv1#
到目前为止,我认为使用SDK是不可能做到这一点的,不过这可以通过向Firebase API发出请求来完成。下面是使用
curl
的方法:因此,您可以使用
requests
并按照here所述创建令牌来发出类似的请求: