gpt4 book ai didi

java - 从 Postgres 数据库检索时,字节数组的大小会加倍

转载 作者:搜寻专家 更新时间:2023-11-01 04:04:38 25 4
gpt4 key购买 nike

我正在使用 JSF2.0、 jetty 服务器和 Postgres 数据库。我想以字节数组格式将 mp3 文件存储在数据库中。我上传了 mp3 文件的字节数组。但是,当我从数据库中检索相同的字节数组时,我得到了双倍大小的字节数组,因此我的 mp3 文件无法正常工作。

public void updateAnnouncementDetail(AnnouncementDetail announcementDetail) {
System.out.println("Upload byte array size:" + announcementDetail.getContent().length);
Session sess=get Session();
sess.beginTransaction();
sess.save(announcementDetail);
sess.getTransaction().commit();
AnnouncementDetail detail;
detail = retrieveAnnouncementDetailById(new AnnouncementDetailPK(announcementDetail.getAnnouncementDetailPK().getAnnouncement(), announcementDetail.getAnnouncementDetailPK().getLanguage()));
System.out.println("Retrived byte array size:" + detail.getContent().length);
}

输出:

上传字节数组大小:384440

检索到的字节数组大小:768879

我不知道为什么会这样。我正在存储字节数组,在下一行我正在检索它。但是我得到了双倍大小的字节数组。如果您需要更多详细信息,请告诉我。

最佳答案

Postgres 9.x bytea 值将十六进制作为默认输出。所以,尝试:

ALTER DATABASE database_name SET bytea_output = 'escape';

关于java - 从 Postgres 数据库检索时,字节数组的大小会加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13581568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com