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

Android Firebase Storage:如何在下载前获取文件大小?

嗨,我来帮你解决这个问题!其实Firebase Storage是支持在下载前获取文件大小的,只是可以通过获取文件元数据的方式实现,具体方法如下:

获取Firebase Storage文件大小(Android端)

核心思路

通过StorageReference的getMetadata()方法获取文件的元数据,其中就包含了文件的字节大小信息,你可以把它转换成用户友好的单位(比如MB、KB)后展示。

具体代码实现

  1. 首先获取目标文件的Storage引用:
// 替换成你实际的文件路径
StorageReference targetFileRef = FirebaseStorage.getInstance().getReference().child("files/example.pdf");
  1. 调用元数据获取方法,在成功回调中提取文件大小:
targetFileRef.getMetadata().addOnSuccessListener(storageMetadata -> {
    // 获取原始字节大小
    long fileSizeInBytes = storageMetadata.getSizeBytes();
    
    // 转换成更易读的单位(例如MB)
    double fileSizeInMB = fileSizeInBytes / (1024.0 * 1024.0);
    
    // 这里就可以把处理后的大小展示给用户了
    String displaySize = String.format("%.2f MB", fileSizeInMB);
    Log.d("FileSize", "文件大小:" + displaySize);
}).addOnFailureListener(e -> {
    // 处理元数据获取失败的情况,比如权限不足、文件不存在等
    Log.e("FileSizeError", "获取文件大小失败", e);
});

补充提示

  • 如果需要转换成KB,计算方式是fileSizeInBytes / 1024.0
  • 若文件不存在或当前用户没有访问权限,会触发失败回调,记得做好错误提示逻辑

内容的提问来源于stack exchange,提问作者Kishan Solanki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:28:30