我有以下情况进入一个Java应用程序。
从数据库中检索此 Blob 对象,该对象代表数据库中的 PDF 文件:
Blob blobPdf = cedolinoPdf.getAllegatoBlob();
现在我必须将它转换成 PDF 文件。我该如何完成这项任务?
发件人
原文由 AndreaNobili 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有以下情况进入一个Java应用程序。
从数据库中检索此 Blob 对象,该对象代表数据库中的 PDF 文件:
Blob blobPdf = cedolinoPdf.getAllegatoBlob();
现在我必须将它转换成 PDF 文件。我该如何完成这项任务?
发件人
原文由 AndreaNobili 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果 Blob 是 PDF 的二进制表示,您需要做的就是获取字节。如果你想将 PDF 写入文件,你可以这样做……
Blob blobPdf = ...;
File outputFile = new File("/tmp/blah/whatever.pdf");
FileOutputStream fout = new FileOutputStream(outputFile);
IOUtils.copy(blobPdf.getBinaryStream(), fout);
这应该将您的 PDF 写入名为“/tmp/blah/whatever.pdf”的文件
原文由 BretC 发布,翻译遵循 CC BY-SA 3.0 许可协议
12 回答6k 阅读
2 回答3.2k 阅读✓ 已解决
3 回答7k 阅读✓ 已解决
3 回答3k 阅读✓ 已解决
5 回答4.6k 阅读
4 回答2.3k 阅读
3 回答4.6k 阅读
您可以使用 ResultSet 中的 getBinaryStream(),然后您可以从 getBinaryStream() 返回的 InputStream 创建一个文件。
您的代码可能看起来像这样
如果您需要所有 blob,请对结果集进行迭代