You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET中如何获取Firebase Storage的正确访问URL以读取文件?

问题根源与解决方案

核心问题:对象路径未做URL编码

你手动构造下载URL时,直接拼接了未编码的objectName。如果文件名包含空格、中文、特殊符号(如&、=、%等),会破坏URL的格式规范,导致服务器返回Invalid HTTP method/URL pair错误。

修复代码

修改URL构造部分,对objectName进行URL编码:

using (var stream = file.InputStream)
{
    var objectName = $"Medidores/{fileName1}";
    storage.UploadObject(bucketName, objectName, null, stream);

    // 对对象路径进行URL编码
    var encodedObjectName = Uri.EscapeDataString(objectName);
    var fileUrl = $"https://firebasestorage.googleapis.com/v0/b/{bucketName}/o/{encodedObjectName}?alt=media";
    listaFotos.Add(fileUrl);
}

额外验证点

  • 确认bucketName是完整的存储桶名称(格式通常为[项目ID].appspot.com),不要使用简写。
  • 上传完成后,可在Firebase控制台的存储面板查看文件的实际路径,对比编码后的URL是否与控制台提供的下载链接结构一致。

内容的提问来源于stack exchange,提问作者William Schmidt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 10:43:29