今天做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

最新文章

  1. Python学习之路--进程,线程,协程
  2. Java中的可变参数以及foreach语句
  3. CodeForces 429 B Working out(递推dp)
  4. 【C++面试】常考题复习:排序算法
  5. JavaWeb项目开发案例精粹-第2章投票系统-001设计
  6. hdu 2187
  7. Hive笔记--配置以及遇到的问题
  8. WPF-24:绘制正多边形
  9. 自适应滤波——线性预测(LPC)
  10. 第4天:JS入门-给div设置宽高背景色
  11. python 绘制柱状图
  12. UVa LA 4636 Cubist Artwork 难度: 0
  13. 阿里云CentOS下nodejs安装
  14. C# 日期时间
  15. try finally 处理方式
  16. thinkphp5 列表页数据分页查询2-带搜索条件
  17. Python 字符串的相关操作
  18. 《Windows核心编程》第八章——用户模式下的线程同步
  19. excel 应用,右下角的小十字拖拽的时候形成递减的数列
  20. Buffer ByteBuffer 缓冲区

热门文章

  1. [转]细说Redis监控和告警
  2. Lambda演算 - 简述Y组合子的作用
  3. 解析PHP正则提取或替换img标记属性
  4. maven配置多模块项目事例
  5. 为不同版本的 Windows 编写驱动程序
  6. bootstrap-滚动监听
  7. 转 strace
  8. 仿造w3school的试一试功能,实现左侧编辑框,右侧效果页面
  9. 您只能在 HTML 输出流中使用 document.write。如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档。
  10. linux出现user account has expired解决方案