java FastDFS文件下载到本地的方法
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇内容介绍了"java FastDFS文件下载到本地的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有
千家信息网最后更新 2025年01月31日java FastDFS文件下载到本地的方法
本篇内容介绍了"java FastDFS文件下载到本地的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
package cn.bywin.cbvsp.controller;import cn.bywin.cbvsp.DAL.BO.po.clickhouse.BaseFrameCh;import cn.bywin.cbvsp.DAL.DAO.clickhouse.ClickHouseBaseDao;import com.github.tobato.fastdfs.domain.proto.storage.DownloadByteArray;import com.github.tobato.fastdfs.service.FastFileStorageClient;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import javax.imageio.stream.FileImageOutputStream;import java.io.File;import java.util.HashSet;import java.util.List;/** * @author linbin * @create 2019-07-25 15:37 */@RestController@Component@RequestMapping("linbin")public class DownLoadController { @Autowired private ClickHouseBaseDaoclickHouseBaseDao; @Autowired private FastFileStorageClient storageClient; @PostMapping("/download") public void test() { //查找这个时间段的所有摄像头 List strings1 = clickHouseBaseDao.selectByTime("select video_source_id from cbvsp.base_fragment where real_time between '2019-07-24 20:00:00' and '2019-07-24 20:10:00'"); HashSet s = new HashSet<>(); strings1.forEach(e->{ s.add(e); }); for (String s1 : s) { List strings = clickHouseBaseDao.selectByTime("select file_id from cbvsp.base_fragment where real_time between '2019-07-24 20:00:00' and '2019-07-24 20:10:00' and video_source_id='"+s1+"';"); buildFolder("/home/deploy/191-20to820-video/"+s1+""); strings.forEach(e -> { if(e.contains("35.26.59.199")){ return; } testHome(e,s1); }); } } public void testHome(String fileUrl,String dir) { String path = fileUrl.substring(32); int i = path.indexOf('/'); int i2 = path.indexOf("/", i + 1); int i3 = path.indexOf("/", i2 + 1); String ss = path.substring(i3 + 1); DownloadByteArray downloadByteArray = new DownloadByteArray(); byte[] bytes = storageClient.downloadFile("group1", path, downloadByteArray); byte2image(bytes, "/home/deploy/191-20to820-video/"+dir+"/" + ss); } //byte数组到图片到硬盘上 public void byte2image(byte[] data, String path) { if (data.length < 3 || path.equals("")) return;//判断输入的byte是否为空 try { FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));//打开输入流 imageOutput.write(data, 0, data.length);//将byte写入硬盘 imageOutput.close(); System.out.println("Make Picture success,Please find image in " + path); } catch (Exception ex) { System.out.println("Exception: " + ex); ex.printStackTrace(); } } public static String buildFolder(String path) { //读取目录路径 File file = new File(path); //推断是否存在 if (!file.exists() && !file.isDirectory()) { try { System.out.println("目录不存在!"); //生成目录 file.mkdir(); } catch (Exception e) { e.printStackTrace(); } } else { System.out.println("目录存在!"); } return path; }}
"java FastDFS文件下载到本地的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
目录
文件
文件下载
方法
内容
更多
知识
硬盘
输入
实用
学有所成
接下来
困境
图片
实际
情况
摄像头
数组
文章
时间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
ps港服服务器在哪里
怎么删除数据库中的实例
软件开发者账号
周网络安全宣传计划
云浮电脑服务器生产线
网络安全自查表格填写
网络安全监测网站
视频管理服务器 DN-9030
全国网络安全和信息化感想
redmi服务器设置
数据库职称考试
服务器发送数据为什么不会出错
车载网络技术电源管理系统
最近互联网科技
麦考瑞大学有没有网络安全
中国网络安全的大学
华为云服务器备份到本地
全球网络安全网站
学生网络安全免费ppt
pop服务器是什么
vb数据库窗体和常用控件
服务器远程重启命令
莱西平台软件开发企业
视频管理服务器 DN-9030
软件开发哪家好怎么样
黔都云商交易软件开发商
连接ftp服务器工具
扬州网络营销软件开发业务流程
软件开发 安全资质
相关大数据系统支持华为服务器