java FastDFS文件下载到本地的方法
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,本篇内容介绍了"java FastDFS文件下载到本地的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有
千家信息网最后更新 2024年12月12日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安全错误
数据库的锁怎样保障安全
体验服哪个服务器最好
存储技术和数据库
软件开发转销售求职信怎么写
驻马店网络技术哪家强
抢答软件开发
超连接导入数据库
培养优质人才 提升网络安全
广东中山软件开发学校
数据库中左右聚集查询怎么使用
软件开发流程分成
网易 垃圾服务器
支付宝北京网络技术有限公司
深圳办公系统软件开发价位
校园网络安全文明教育资料
规范企业网络安全
网络安全从我做起手抄报黑白
浙江德迅网络技术有限公司
如何设置数据库中表的输入掩码
计算机专业里游戏软件开发
一张底图数据库技术标
网络安全机房配置
微信登陆显示服务器繁忙请稍后再试
网络安全都包括哪些内容
网络安全的女英雄
php数据库分页显示12345
7远程服务器管理工具
默认的数据库包含几个文件
计算机网络技术与硬件维护
图解网络安全法 高清
公共vpn中继服务器