今天做LDAP发布图片,用binary属性存储。存储没有问题,但是读取时发现字段变成String形式并且内容是乱码,怎么转换都不能解决。

最后度了下发现

默认情况下Attribute#get()返回的属性值的格式都是字符串类型的,如果想指定某属性的格式为字节数组类型(比如某属性可能在活动目录中存储的是图片、Word等二进制文件,那么返回字节数组类型会特别合适),需要事先在查找的上下文环境中指定:默认情况下Attribute#get()返回的属性值的格式都是字符串类型的,如果想指定某属性的格式为字节数组类型(比如某属性可能在活动目录中存储的是图片、Word等二进制文件,那么返回字节数组类型会特别合适),需要事先在查找的上下文环境中指定:

增加如 env.put("java.naming.ldap.attributes.binary","aaaa");//aa是你的binary字段名。

Context cxt = new InitialLdapContext(env,null)

另外:

还有一个小问题,如果连接Ldap服务器的PROVIDER_URL中服务器与端口之外的路径含有中文,则需要事先使用java.net.URLEncoder进行编码,例如:

  1. String baseDN=URLEncoder.encode("ou=软件应用事业部,ou=OrgTree,dc=cattsoft,dc=com", "utf-8");
  2. env.put(Context.PROVIDER_URL, "ldap://192.168.123.8:389/"+baseDN);

参考:

http://zuiyanwangyue.iteye.com/blog/911649

LDAP binary字段读取的更多相关文章

  1. Odoo14 设置Binary字段默认值

    1 # Odoo 中的附件也就是Binary字段都是经过特殊处理的 2 # 首先是上传的时候会进行base64编码后再上传到服务器 3 # 服务器进行压缩存放在odoo文件仓库中 4 # 每个odoo ...

  2. delphi ftBlob二进制字段读取存储

    aStream:TMemoryStream; 保存到字段 qrypub.ParamByName('Data').LoadFromStream(aStream, ftBlob); 从字段读取到mem里 ...

  3. sqlserver text/ntext 字段读取

    sqlserver ntext 字段在读取时返回值 net.sourceforge.jtds.jdbc.ClobImpl@555bc78f 需要在连接数据库的URL后边加上";useLOBs ...

  4. MySQL数据库中tinyint类型字段读取数据为true和false

    今天遇到这么一个问题,公司最近在做一个活动,然后数据库需要建表,其中有个字段是关于奖励发放的状态的字段,结果读取出来的值为true 一.解决读取数据为true/false的问题 场景: 字段:stat ...

  5. MySQL数据库中tinyint类型字段读取数据为true和false (MySQL的boolean和tinyint(1))

    数据库一个表中有一个tinyint类型的字段,值为0或者1,如果取出来的话,0会变成false,1会变成true. MySQL保存boolean值时用1代表TRUE,0代表FALSE.boolean在 ...

  6. EF-按字段读取

    /// <summary> /// 直接获取特定一个或者多个字段的值 /// 多个字段需要声明Model /// var s= testDal.GetScalar<dynamic&g ...

  7. 从blob字段读取图片 在浏览器显示

    public byte[] GetProImg(string JID) { byte[] Buffer = null; using (OracleConnection conn = new Oracl ...

  8. 分块读取Blob字段数据(Oracle)

    试过了MSSQL的分块读取Blob字段,又尝试在Oracle下完成,发现还是可行的. 首先建立一个存储过程: create or replace procedure PRO_GET_BLOB(     ...

  9. ADO.NET笔记——读取二进制大对象(BLOB)

    相关知识: 在SQL Server中,一般情况下,每行数据的总长度不能超过8K字节.因此,下列数据类型的长度,也不能超过8K字节:binary,char(),nchar(),varchar(),nva ...

随机推荐

  1. android studio 各种问题

    1.dexDebug ExecException finished with non-zero exit value 2 全bug日志如下: (Error:Execution failed for t ...

  2. oracle like模糊查询

    简单的方式,使用"%" 和 "_" 字符匹配操作可以使用通配符 "%" 和 "_": %:表示任意个字符,包括零个: _ ...

  3. [Mongodb] Relica Set复制集集群简单搭建--持续更新

    这里我们搭建一个没有访问控制,奇数个Set没有仲裁者的集群 1.三个配置文件添加 replication.replSetName:"Replica_test" 并启动三个实例2.连 ...

  4. Interview

    下面的题是供大家查漏补缺用的,真正的把这些题搞懂了,才能"以不变应万变". 回答问题的时候能联系做过项目的例子是最好的,有的问题后面我已经补充联系到项目中的对应的案例了. 1.简述 ...

  5. 洛谷 P3366 【模板】最小生成树 prim算法思路 我自己的实现

    网上有很多prim算法  用邻接矩阵 加什么lowcost数组 我觉得不靠谱 毕竟邻接矩阵本身就不是存图的好方法 所以自己写了一个邻接表(边信息表)版本的  注意我还是用了优先队列  每次新加入一个点 ...

  6. 01-C#入门(函数一)

    只有在动手写代码的时候,才能真正理解到代码的逻辑思想,所以,开始写代码吧. 函数的意义:降低相同功能的代码重复编写,提高重复代码的维护效率. 函数 一个文件由命令空间(namespace).类(cla ...

  7. Doxygen给C程序生成注释文档

    近段时间,一直在学习华为C语言编程规范(2011版),在“注释”这一章中发现了一种“Doxygen”的注释转文档工具,查看诸多相关资料,并进行编程实践,终于可以利用Doxygen给C程序生成注释文档. ...

  8. PHP5.6.15连接Sql Server 2008配置方案

    php5.6的如果想连接Sql Server 2008数据库,需要手动配置扩展和安装一个驱动. 下载SQL Server Driver for PHP的扩展包,64位系统的官方不支持,找到一个非官方的 ...

  9. asp.net中按钮回车事件(转自http://www.cnblogs.com/adinet/archive/2013/03/03/2941424.html)

    在做ASP.net WEB应用的时候,常常遇到会在同一个页面里添加多个按钮,而每个按钮肯定都会触发页面回送事件. 在ASP.NET中,只能指定一个带有runat="server"的 ...

  10. Centos Cacti 0.8.8g

    一.Cacti简介1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户.因 ...