如何使用Python将音频文件上传至Firebase Storage
使用Python将音频文件上传至Firebase Storage
你的代码已经实现了核心的音频上传逻辑,下面是完整的说明和补充细节:
1. 安装依赖
首先确保你安装了维护中的pyrebase4包(替代旧版pyrebase):
pip install pyrebase4
2. 完整上传代码
你的基础代码可以直接使用,这里补充注释和错误处理逻辑:
import pyrebase # 替换为你的Firebase项目真实配置 config = { "apiKey": "xxxxxxxxxxxxxxxxxx", "authDomain": "xxxxxxxxxxx", "projectId": "xxxxxxxxxxx", "storageBucket": "xxxxxxxxxxxxxx", "messagingSenderId": "xxxxxxxxxxxxx", "appId": "xxxxxxxxxxxxxxxxxxxx", "measurementId": "G-5GCDEC526E" } # 初始化Firebase应用 firebase = pyrebase.initialize_app(config) # 本地音频文件路径 local_file_path = "1.wav.wav" # 云端存储路径(audios目录不存在会自动创建) cloud_storage_path = "audios/audi1.wav" try: # 初始化存储实例并执行上传 storage = firebase.storage() storage.child(cloud_storage_path).put(local_file_path) print("音频文件上传成功!") # 可选:获取上传后文件的公开访问URL file_url = storage.child(cloud_storage_path).get_url(None) print(f"文件访问URL: {file_url}") except Exception as e: print(f"上传失败: {str(e)}")
3. 关键注意事项
- 配置验证:确认
storageBucket值完全正确(格式通常为[项目ID].appspot.com) - 存储权限:Firebase Storage默认禁止匿名上传,测试阶段可临时修改规则为:
生产环境务必改为严格的权限控制(比如仅允许授权用户操作)rules_version = '2'; service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if true; } } } - 文件路径:本地路径要确保文件存在,云端路径支持多级目录,不存在的目录会自动创建
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

