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



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

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());

最新更新