阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_03-页面发布-消费方Cms Client-消费方法-service
消息内容采用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
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
· 探秘 MySQL 索引底层原理,解锁数据库优化的关键密码(下)
· 短信接口被刷爆:我用Nginx临时止血
· 面试官:如果某个业务量突然提升100倍QPS你会怎么做?
· .NET 平台上的开源模型训练与推理进展
· 聊聊智商税:AI知识库
· Google发布A2A开源协议:“MCP+A2A”成未来标配?