老师 我这边无法下载到本地

来源: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端添加的嘛 怎么会这样

0
0

Leisure80

提问者

2019-11-25

//img.mukewang.com/szimg/5ddbc26709cccf5b06170168.jpg没存放到本地

0
0

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);
				}
			}


0
0

Spring Boot短视频小程序开发 全栈式实战项目

一门课程带你搞定短视频小程序全栈开发,毕业设计之利器!

2613 学习 · 1952 问题

查看课程