Java 安卓Firebase存储:下载Firebase存储文件之前,如何从Firebase存储文件url获取文件大小?

Java 安卓Firebase存储:下载Firebase存储文件之前,如何从Firebase存储文件url获取文件大小?,java,android,firebase,firebase-realtime-database,firebase-cloud-messaging,Java,Android,Firebase,Firebase Realtime Database,Firebase Cloud Messaging,下载firebase存储之前,如何从firebase存储获取文件大小?我想向用户显示文件大小,以便他们可以看到文件的确切大小 在下载之前,我查看了一下是否有任何方法可以获得特定文件的大小。但是我没有发现任何有用的东西。正如Firebase文档上所发布的,您可以通过StorageReference getMetaData方法获取存储在FirebaseStorage上的文件的名称、大小和内容类型。根据Firebase文档 文件元数据包含通用属性,如名称、大小和大小 contentType通常被称为M

下载firebase存储之前,如何从firebase存储获取文件大小?我想向用户显示文件大小,以便他们可以看到文件的确切大小


在下载之前,我查看了一下是否有任何方法可以获得特定文件的大小。但是我没有发现任何有用的东西。

正如Firebase文档上所发布的,您可以通过StorageReference getMetaData方法获取存储在FirebaseStorage上的文件的名称、大小和内容类型。根据Firebase文档

文件元数据包含通用属性,如名称、大小和大小 contentType通常被称为MIME类型,除了一些 常见的如contentDisposition和timeCreated。此元数据可以 可以使用getMetadata从云存储引用中检索 方法

下面是如何访问FirebaseStorage上存储的文件元数据的示例

StorageReference storageRef = storage.getReference();
StorageReference forestRef = storageRef.child("images/forest.jpg");

forestRef.getMetadata().addOnSuccessListener(new OnSuccessListener<StorageMetadata>() {
    @Override
    public void onSuccess(StorageMetadata storageMetadata) {
        //here, storageMetadata contains all details about your file stored on FirebaseStorage
        Log.i("tag", "name of file: "+storageMetadata.getName());
        Log.i("tag", "size of file in bytes: "+storageMetadata.getSizeBytes());
        Log.i("tag", "content type of file: "+storageMetadata.getContentType());
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Uh-oh, an error occurred!
        Log.i("tag", "Exception occur while gettig metadata: "+exception.toString());
    }
});
试试这个:

StorageReference ref = storage.getReference();
StorageReference reference = ref.child("images.jpg");

reference.getMetadata().addOnSuccessListener(new OnSuccessListener<StorageMetadata>() {
@Override
public void onSuccess(StorageMetadata storageMetadata) {
    Log.i("The size of the file is:", storageMetadata.getSizeBytes());
  }
}).addOnFailureListener(new OnFailureListener() {
   @Override
   public void onFailure(@NonNull Exception exception) {

    }
});
使用getSizeBytes,您将能够获得文件的大小

公共长getSizeBytes:

返回 StorageReference对象的存储大小(以字节为单位)

公共存储元数据:

创建StorageMetadata对象以保存StorageReference的元数据

有关更多信息,请查看以下内容: