消息内容采用json格式存储数据,如下:
页面id:发布页面的id
{
"pageId":""
}
现在做的是消息的消费方
定义dao
从cms的项目里面复制CmsPageRepository到cms-client的项目里面。
再复制CmsPageRepository改个名字叫做CmsSiteRepository
把泛型的参数改成CmsSite
定义Service。叫做PageService
savePageToServerPage方法从FS里面获取到页面 ,并保存到具体的路径。
htmlField这是html的id
新建方法根据id查询CmsPage
在主方法内调用,这样就得到了页面的信息
根据id查询gridFS中的数据
从cms项目里面 复制MongoConfig这个类过来。这个是Mongo的配置文件
这样我们需要吧GridFsTemplate和GridFSBucket注入进来。通过这两个注入的 就可以拿到文件的内容了。
主方法调用拿到InputStream
加入日志
得到站点的信息的方法
注入CmsSite
主方法调用
下面获取站点的物理路径
加上站点的屋里路径的属性
这样我们就可以拿到站点的物理路径了。
最终得到页面的屋里路径
流操作,数据写入磁盘
用IOUntils的工具包。把输入流拷贝到输出流
输出流应该指向的是PagePath
关闭流也需要try catch