JAVA-存储具有固定大小的图像blob
我试图保存一个包含Blob字段的实体(hibernate) 这个斑点的大小可能不同 我的目标是以固定的大小(10KB)保存它 我的图像格式是JPEG,我希望保留其原始宽度\高度,而不是缩小它们(压缩而不是重新调整大小) 丢失原始图像质量不是问题 (旁注-blob是从字节数组创建的,可能应该在字节数组而不是blob上执行大小缩减过程?任何一种方法都会有帮助。)JAVA-存储具有固定大小的图像blob,java,image,hibernate,blob,Java,Image,Hibernate,Blob,我试图保存一个包含Blob字段的实体(hibernate) 这个斑点的大小可能不同 我的目标是以固定的大小(10KB)保存它 我的图像格式是JPEG,我希望保留其原始宽度\高度,而不是缩小它们(压缩而不是重新调整大小) 丢失原始图像质量不是问题 (旁注-blob是从字节数组创建的,可能应该在字节数组而不是blob上执行大小缩减过程?任何一种方法都会有帮助。) 谢谢 这与休眠和持久性无关。在业务逻辑层中,应该先缩小映像。然后,生成的字节数组应存储在持久实体中。查找可以压缩JPEG的图像处理库JB
谢谢 这与休眠和持久性无关。在业务逻辑层中,应该先缩小映像。然后,生成的字节数组应存储在持久实体中。查找可以压缩JPEG的图像处理库JB Nizet缩小图像的过程取决于图像的格式,以及您希望如何减小图像的重量:通过压缩或缩小图像的大小。你不能只取一个字节数组或一个blob,然后应用一种神奇的大小缩减方法,不管字节数组代表什么,这种方法都能奏效。正如@JBNizet已经提到的,这应该是你的应用程序逻辑的一部分。仅仅告诉实体将字节数组截断为某个大小根本没有意义(数据丢失)。请检查我的编辑,现在它是否更有意义?是的,但您已经得到了答案。这与hibernate和持久性无关。在业务逻辑层中,应该先缩小映像。然后,生成的字节数组应存储在持久实体中。找到一个可以压缩JPEG的图像处理库。@Urbanleg:你不仅会降低图像质量,根据图像格式,甚至根本无法读取图像!