繁体   English   中英

如何使用 Admin SDK Java 将 PDF 文件上传到 Firebase 存储?

[英]How to upload PDF file to Firebase Storage using Admin SDK Java?

我正在尝试使用 Eclipse Java 中的 Firebase Admin SDK 将 PDF 文件上传到 Firebase 存储。 我一直在参考这个文档: https ://cloud.google.com/storage/docs/uploading-objects#storage-upload-object-java 。 到目前为止,我似乎能够上传文件,但 pdf 内容似乎以某种方式被损坏,因为与原始大小(3028 字节)相比,大小(如 Firebase 存储中所示)较小(11 字节)。 因此,我尝试下载该文件,但事实证明,我无法打开下载的文件。 我已经实现了以下代码:

BlobId blobId = BlobId.of(bucket, folder+"/"+blobName);
        System.out.println("Blob Id:"+blobId);
        BlobInfo blobInfo = BlobInfo
                .newBuilder(blobId)
                .setContentType("application/pdf")              
                .build();
        System.out.println("Blob Info:"+blobInfo);

        Blob blob = storage.create(blobInfo, blobName.getBytes(UTF_8));
        System.out.println("BLOB:"+blob);

我真的无法从管理员端获得有关上传 PDF 的太多信息。 我猜blobName.getBytes(UTF_8)可能是某种问题。 任何帮助表示赞赏!

好的,现在通过将文件路径添加到输入流并使用.readAllBytes()方法读取文件来让它工作。

String file_path = file.getPath();
InputStream file_input_stream = new FileInputStream(file_path);

BlobId blobId = BlobId.of(bucket, folder+"/"+blobName);
System.out.println("Blob Id:"+blobId);
BlobInfo blobInfo = BlobInfo
            .newBuilder(blobId)
            .setContentType("application/pdf")              
            .build();
Blob blob = storage.create(blobInfo, file_input_stream.readAllBytes());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM