![](/img/trans.png)
[英]How to Upload file to Firebase Storage using Firebase Admin in Java?
[英]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.