旺旺 QQ的聊天记录(含图片)保存到自己的服务器
其实这个功能的总思路是 包所有的QQ聊天记录和旺旺的聊天记录先拷贝到word,让word把图片进行base64的加密,切记word保存时候的格式是mht的
比如我保存了一份聊天记录,用notepad++打开
可以看到在<!--StartFragment-->
<!--EndFragment-->标签内容才是你拷贝的内容图片后面的src是content-Location后面的字符
后面我们就是解析了
public String newAddServeRecord() {InputStreamReader r = null;BufferedReader br = null;try {String uploadPath = Tools.getStrutsProp().getValue("uploadPath")+ "recordImgs/";File recf = new File(uploadPath);recf.mkdirs();String urlPath = Tools.getStrutsProp().getValue("urlPath")+ "recordImgs/";r = new InputStreamReader(new FileInputStream(mhtFile), "UTF-8");br = new BufferedReader(r);String result = "";Map<String, String> imgMap = new HashMap<String, String>();String startFragment = "<!--StartFragment-->";String endFragment = "<!--EndFragment-->";String base64 = "Content-Transfer-Encoding: base64";String location = "Content-Location: ";String str = null;while ((str = br.readLine()) != null) {if (str.indexOf(startFragment) != -1) {if (str.indexOf(endFragment) != -1) {result += str.substring(str.indexOf(startFragment)+ startFragment.length(),str.indexOf(endFragment));} else {result += str.substring(str.indexOf(startFragment)+ startFragment.length(), str.length());}}if (str.indexOf(endFragment) != -1) {result += str.substring(0, str.indexOf(endFragment));}if (str.indexOf(base64) != -1) {String locationPath = br.readLine();locationPath = locationPath.replace(location, "");br.readLine();String base64Img = br.readLine();imgMap.put(locationPath, base64Img);}}result = result.replaceAll("=20", " ").replaceAll("=3D", "=").replaceAll("<IMG", "<img");for (String key : imgMap.keySet()) {byte[] imgByte = Base64.decode(imgMap.get(key));String fileName = Tools.getDateToSEC() + Tools.getThree()+ key.substring(key.lastIndexOf("."));FileOutputStream imgOut = new FileOutputStream(uploadPath+ fileName);imgOut.write(imgByte);imgOut.close();result = result.replace(key, urlPath + fileName);}// 写入数据库ServeRecord sr = new ServeRecord();sr.setDate(new Date());sr.setContent(result);sr.setServeCustomer(((Admin) getSession().get(Constant.ADMIN)).getName());sr.setCustomerId(customer.getId() + "");serveRecordDao.insert(sr);state = "okrecord";} catch (Exception e) {logger.error("CustomerManagerAction.newAddServeRecord", e);return ERROR;} finally {try {if (null != br) {br.close();}if (null != r) {r.close();}} catch (IOException e) {logger.error("CustomerManagerAction.newAddServeRecord[close] error!",e);return ERROR;}}return SUCCESS;}
旺旺 QQ的聊天记录(含图片)保存到自己的服务器相关推荐
- 秀米编辑器(xiumi)+百度编辑器(Ueditor) 集成 :解决集成问题,秀米编辑器导出到百度编辑器格式问题,图片保存到自己的服务器(阿里云OSS)
1.集成前提条件: 1. 需要集成百度编辑器到环境中 2.https环境下才可以导出数据到百度编辑器,如果不是https环境,会出现错误 然后我们开始讲解如何集成: 2.引入资源: //百度编辑器需要 ...
- 安卓仿QQ空间实现(含图片的动态编辑、发表、点赞、评论)
之前做项目的时候需要用到仿空间动态的功能,在此做一下记录,简单介绍一下listview自定义适配器以及各相关功能实现方法. 一.效果图 这里添加了两条初始动态,其他都是现编现发的.头像这里后面使用了圆 ...
- 让QQ群聊天记录自动保存到群空间中(转)
让QQ群聊天记录自动保存到群空间中(转) 笔者经常在不同的电脑登录QQ,所以经常出现群消息丢失的烦恼.现在可以把聊天记录保存到群空间里,就不麻烦了. 笔者加入了多个作者.编辑交流QQ群,在QQ群里共同 ...
- QQ语音聊天记录也能轻松保存(转)
QQ语音聊天记录也能轻松保存(转) 想保存QQ的语音聊天记录该如何保存呢?我们可以使用第三软件来实现. Total Recorder是一款不可多得的录制声音的好工具,它几乎可以录制所有通过声卡和软件发 ...
- 仿qq空间java源码_android 发说说动态源码下载(高仿QQ空间,含图片多选)
[实例简介]仿qq发动态,图片发布效果 [实例截图] [核心代码] package com.king.photo.activity; import android.annotation.Suppres ...
- Nonebot QQ机器人插件九:qq群聊天记录词云图
QQ机器人插件九:qq群聊天记录词云图 1. 将实时聊天记录保存到数据库 安装数据库可自行到网上查找,本文仅使用mysql数据库为例.linux下mysql数据库安装可参考(59条消息) Linux安 ...
- C#.NET通过Socket实现平行主机之间网络通讯(含图片传输的Demo演示)
C#.NET通过Socket实现平行主机之间网络通讯(含图片传输的Demo演示) 作者:一点一滴的Beer http://beer.cnblogs.com/ 在程序设计中,涉及数据存储和数据交换的时候 ...
- 推荐一些可以将QQ截取的gif图片修改为循环播放的软件
QQ截取的gif图片在网页上只能播放一次~~我想把它变成循环播放的.请高手们推荐!PS:我不要photoshop的~~ ======================================== ...
- 谷歌地图 图片保存_Google如何在地图上跟踪并保存您的一举一动
谷歌地图 图片保存 大哥在看 (Big Brother is watching) Google has a tool that lets you set up an automatic deletio ...
最新文章
- docker基础命令
- Go圈10月份优质博主推荐
- jms pub/sub模型_JMS消息传递模型:点对点和发布/订阅
- android Notification分析—— 您可能会遇到各种问题
- ansible笔记(4):常用模块之文件操作
- linux nslookup 解析不到dns_内网智能DNS搭建
- Android意图Intent总结代码
- 平面设计常用计算机工具,平面设计中常用的计算机软件及其具体使用
- ListView优化的
- OpenGL 中的 Render To Texture
- 罗振宇2021跨年演讲3:谁能跳出数字化系统困境?
- WordPiece、BPE详解及代码
- Python的Profile概述
- una到底啥意思_una到底啥意思_Una_英文名Una是什么意思
- python算库存管理_年终库存盘点怎么做?无代码库存管理系统高效率!
- 该怎么学好软件工程这门课?
- iVMS-4200 Vs区别_45466足球推荐分析 法甲 21:00 安格斯 VS 梅斯
- 请问,我要去工商局申请一个工作室,法律上需要那些流程
- cocos2dx 中jsc反逆向为js
- 30天自制操作系统——第九天内存管理