Hello,
I'm doing some testing with 1.0.0-M3 and I'm having trouble reading
binary attributes.
Specifically for jpegPhoto in OpenLDAP 2.4.23:
# jpegPhoto
# Used to store one or more images of a person using the JPEG File
# Interchange Format [JFIF].
attributetype ( 0.9.2342.19200300.100.1.60
NAME 'jpegPhoto'
DESC 'RFC2798: a JPEG image'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.28 )
the byte[] I get from Attribute#get()#getBytes() is about twice as big
as I expect. Attribute#isHumanReadable() also returns true. Which
makes me think the value has been encoded.
Code snippet of what I'm doing:
while (cursor.next()) {
SearchResultEntry result = (SearchResultEntry) cursor.get();
Entry e = result.getEntry();
Attribute photo = e.get("jpegPhoto");
if (photo != null) {
byte[] bytes = photo.get().getBytes();
FileOutputStream fos = new FileOutputStream("photo.jpg");
fos.write(bytes);
fos.close();
}
}
ldapsearch returns the value I expect. Is there some special syntax
for binary values I'm missing? Thanks
--Daniel Fisher