老师 我这边无法下载到本地
来源:9-25 监听zk节点下载bgm

Leisure80
2019-11-25
我这边打断点好像打不了 就试着输出大部分信息 比如路径之类
这是数据库测试id
新建和id一样的节点
2019-11-25 19:43:20,770 [Curator-PathChildrenCache-0] [com.imooc.ZKCuratorClient$1.childEvent(ZKCuratorClient.java:68)] - [INFO] 监听到事件 CHILD_ADDED
bgmId: 191125DN87DMFAY8
songPath: \bgm\bgm1.mp3
filePath: E:\TikTokInfo\bgm\bgm1.mp3
finalPath: /bgm/bgm1.mp3
bgmUrl: http://10.108.190.200:8080/mvc/bgm/bgm1.mp3
这个就是输出的信息
写回答
3回答
-
Leisure80
提问者
2019-11-25
解决了 我一开始springboot中代码有错误 然后只重启了springboot没有重启SSM 是会显示正确的输出 但无法保存 然后把SSM的tomcat也重启 springboot也重启了 正确保存了 我们不是在zookeeper端添加的嘛 怎么会这样
00 -
Leisure80
提问者
2019-11-25
没存放到本地
00 -
Leisure80
提问者
2019-11-25
if(event.getType().equals(PathChildrenCacheEvent.Type.CHILD_ADDED)) { log.info("监听到事件 CHILD_ADDED"); //1.从数据库查询bgm对象 获取路径path String path=event.getData().getPath();//这个就是发生的一个事件 //根据路径获取bgmId 另外也可以根据路径获取event里面的一个值 操作类型 String operatorType=new String(event.getData().getData()); // System.out.println("operatorType: "+operatorType); String arr[]=path.split("/");//根据这个”/“来拆分 String bgmId=arr[arr.length-1]; // System.out.println("arr[]: "+arr[]); System.out.println("bgmId: "+bgmId); Bgm bgm=bgmService.queryBgmById(bgmId); if(bgm==null) { return; } //歌曲所在bgm path路径拿出来 bgm所在的相对路径 String songPath=bgm.getPath(); System.out.println("songPath: "+songPath); //2.定义一个保存到本地的bgm路径 String filePath="E:\\TikTokInfo"+songPath; System.out.println("filePath: "+filePath); //3.定义下载的路径(播放 的url) String arrPath[]=songPath.split("\\\\");//因为上面的路径是两个反斜杠 String finalPath=""; //3.1处理urk的斜杠以及编码 for(int i=0;i<arrPath.length;i++) { if(StringUtils.isNotBlank(arrPath[i])) { finalPath+="/"; finalPath+=URLEncoder.encode(arrPath[i],"UTF-8"); } } System.out.println("finalPath: "+finalPath); String bgmUrl="http://10.108.190.200:8080/mvc"+finalPath; System.out.println("bgmUrl: "+bgmUrl); //下载bgm到springboot服务器 URL url=new URL(bgmUrl); File file=new File(filePath); FileUtils.copyURLToFile(url, file); } }
00
相似问题