【问题标题】:Is there a way to convert tiff image to Base64 without loading complete file into memory有没有办法在不将完整文件加载到内存的情况下将 tiff 图像转换为 Base64
【发布时间】:2013-07-07 10:50:04
【问题描述】:

我有一个非常大的 TIFF 格式的图像文件(最大 100MB),我需要将此图像转换为 Base64,然后写入 XML 文件。我想知道是否有一种方法可以流式读取图像文件,将其转换为 Base64 并使用 Java IO 流写入 XML,而无需一次将整个文件加载到内存中。

【问题讨论】:

    标签: java image base64 tiff java-io


    【解决方案1】:

    你不能只用流读取图像文件的小片段,转换为base 64,然后输出到xml吗?转换为 base64 不需要读取整个文件。

    编辑:

    标准 Java API 不包含 Base64 编码器。 试试Apache Commons Base64InputStream

    【讨论】:

    • 这正是我想要的。您能否分享一下如何在流中读取文件段并转换为 base64 的代码示例。我知道的方式是需要整体读取文件,转换为 byte[] 然后转换为 base64 编码字符串
    • 我猜 base64encoder 从基本的 java api 中丢失了。我会尝试 Apache commons。 commons.apache.org/proper/commons-codec/apidocs/org/apache/…
    • 确保以 3 个字节的倍数读取数据块,否则可能会遇到填充问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 2019-11-03
    • 2012-07-13
    • 2018-02-19
    • 2013-07-09
    • 2021-12-19
    相关资源
    最近更新 更多