在Firebase Storage中上传PDF文件

3

我想在我的安卓应用中使用谷歌Firebase来下载PPT和PDF文件。是否可以将PPT和PDF文件上传到Firebase存储,以便用户稍后下载它们。


1
你尝试时有出现任何错误吗? - OneCricketeer
我还没有尝试过。想知道我能不能做到。 - Mayank Aggarwal
1
我认为尝试一下会比等待答案更快。 - OneCricketeer
请参见 https://firebase.google.com/docs/storage/android/upload-files。 - Frank van Puffelen
3个回答

3

请试一下这个

Uri file = Uri.fromFile(new File("path/to/doc/rivers.pdf"));
StorageReference riversRef = storageRef.child("doc/"+file.getLastPathSegment());
uploadTask = riversRef.putFile(file);

// Register observers to listen for when the download is done or if it fails
uploadTask.addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle unsuccessful uploads
    }
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
    @Override
    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
        // taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
        Uri downloadUrl = taskSnapshot.getDownloadUrl();
    }
});

2

我以前没有尝试过上传PDF文件,但是这种方法适用于几乎所有文件类型:

FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl("gs://your-app-name.com");

Uri file = Uri.fromFile(new File("data/data/file-path/file-name"));
Log.d("file", file.getPath());


StorageReference riversRef = storageRef.child("firebase-storage");

UploadTask uploadTask = riversRef.putFile(file);

// Register observers to listen for when the download is done or if it fails
uploadTask.addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle unsuccessful uploads
        Log.d("uploadFail", "" + exception);

    }
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
    @Override
    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
        // taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
        sendNotification("upload backup", 1);

        Uri downloadUrl = taskSnapshot.getDownloadUrl();

        Log.d("downloadUrl", "" + downloadUrl);
    }
});

如果这对您没有用,请告诉我。

0

有任何困难请告诉我。

  Uri file = Uri.fromFile(new File(PATH));
    StorageReference riversRef = storageRef.child("doc/"+file.getLastPathSegment());
    uploadTask = riversRef.putFile(file);

    // Register observers to listen for when the download is done or if it fails
    uploadTask.addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception exception) {
            // Handle unsuccessful uploads
        }
    }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
        @Override
        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
            // taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
            Uri downloadUrl = taskSnapshot.getDownloadUrl();
        }
    });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接