确定BLOB的高度和宽度

问题描述 投票:1回答:1

我意识到在我们的数据库中,某些人的图像文件是定向的,而所有图像文件都应该是纵向的。 所以,我需要确定哪个文件的宽度大于其高度。

[我想知道是否有任何方法可以获取height类型列的widthBLOB,例如dbms_lob.getlength函数,该函数返回CLOB / BLOB列中的字符数(字节) 。

oracle package blob
1个回答
0
投票

[A BLOB是二进制数据-它本质上没有格式(例如JPEG / PNG / BMP),因此也不是图像,因此询问其宽度/高度是没有意义的。

[您需要做的是将二进制数据(BLOB)转换为特定格式(即PNG),然后从该已知格式中提取属性。

[您可以编写一个使用ImageIO的Java类(例如,这是我从二进制数据读取图像时发现的第一笔;还会有其他解决方案/库),然后返回高度或宽度。

然后使用loadjava utility将该类加载到Oracle数据库中。

然后编写一个SQL函数来包装Java实现,以便它将BLOB传递给Java函数并返回宽度或高度(或包含两个值的结构)。

© www.soinside.com 2019 - 2024. All rights reserved.