`
247687009
  • 浏览: 174212 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

整合了DFS+DHT+MyFastClitn的java客户端实现

阅读更多
使用FastDFS的一套东西DFS+DHT+myfastClient在WEB应用中就可以很好的解决很多的问题,同样的在DHT中的读取配置文件也存在问题的,本想也改一改的,后来转念一想,干脆就把这三哥儿们集成到一块去吧。集成完的项目结构

并没有改太多的核心实现,实在把很多无用的import去掉了,把Test类给去掉了,把读取配置类重新实现了。使用起来就很简单了,提供一个UTIL类的实现代码
/**
 *
 * 
 * @ClassName: FastDFSUtil
 * @Description: TODO( FastDfs 操作工具类)
 * @author LiuYi
 * @date 2014年6月5日 下午4:39:19
 * 
 */
public class FastDFSUtil {

        private static final FastDFSUtil fastDFSUtil = new FastDFSUtil();
        private static boolean isInit = true;
        public static final FastDFSUtil getInstance() {
                return fastDFSUtil;
        }
        
        static{
                try {
                        PropertiesLoader pl = SpringContextHolder.getBean(PropertiesLoader.class);
                        DFSCustomIdClient.init(pl.getProperty("dfs"), pl.getProperty("dht"));
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }

        public static DFSCustomIdClient getClient(String fdhtNamespace) {
               if(isInit){
                       getInstance();
                       isInit = false;
               }
                try {
                        return new DFSCustomIdClient(fdhtNamespace);
                } catch (MyException e) {
                        e.printStackTrace();
                }
                return null;
        }

        /**
         * 
         * @Description: TODO(上传文件到FastDFS)
         * @author LiuYi
         * @date 2014年6月5日 下午4:33:39
         * @param fileName
         *                自定义的文件名
         * @param file
         *                文件
         * @param suffix
         *                后缀名
         * @return
         * @throws IOException
         * @throws Exception
         *                 String
         */
        public static String upFile(String fileName, File file, String suffix) throws IOException, Exception {
                DFSCustomIdClient client = getClient("seafood");
                try {
                        client.uploadFile(fileName, FileUtils.readFileToByteArray(file), suffix);
                        return fileName + "." + suffix;
                } catch (Exception e) {
                        throw e;
                } finally {
                        client.close();
                }
        }

        /**
         * 
         * @Description: TODO(根据当前年与日生成文件名如
         *               /2014041806/akdhfajhfdabfdjahfdjafda.png)
         * @author LiuYi
         * @date 2014年6月5日 下午4:34:55
         * @param file
         * @param suffix
         * @return
         * @throws IOException
         * @throws Exception
         *                 String
         */
        public static String upFile(File file, String suffix) throws IOException, Exception {
                DFSCustomIdClient client = getClient("seafood");
                try {
                        Calendar cal = Calendar.getInstance();// 使用日历类
                        int year = cal.get(Calendar.YEAR);// 得到年
                        int month = cal.get(Calendar.MONTH) + 1;// 得到月,因为从0开始的,所以要加1
                        int day = cal.get(Calendar.DAY_OF_MONTH);// 得到天
                        int hour = cal.get(Calendar.HOUR);// 得到小时
                        int minute = cal.get(Calendar.MINUTE);// 得到分钟
                        StringBuffer buffer = new StringBuffer("/").append(year).append(month).append(day).append(hour)
                                        .append(minute).append("/").append(UUID.randomUUID().toString());
                        client.uploadFile(buffer.toString(), FileUtils.readFileToByteArray(file), suffix);
                        return buffer.toString() + "." + suffix;
                } catch (Exception e) {
                        throw e;
                } finally {
                        if (client != null)
                                client.close();
                }
        }
        /**
         * 
        * @Description: TODO(通过DB中的URL 获取到真正的在FastDFS上的URL)
        * @author LiuYi
        * @date 2014年6月5日 下午5:29:29
        *  @param dbUrl
        *  @return  String
         */
        public static String dbImgUrl2FdfsUrl(String dbUrl){
                DFSCustomIdClient client = getClient("seafood");
                try {
                        return  client.getFdfsFileId(dbUrl);
                } catch (Exception e) {
                        e.printStackTrace();
                }finally{
                        if(client!=null){
                                client.close();
                        }
                }
                return dbUrl;
        }
    

}

附上源码
  • 大小: 7.4 KB
  • src.zip (236.1 KB)
  • 下载次数: 129
分享到:
评论
1 楼 19941 2018-01-26  
大神,提供的demo读取配置文件有问题啊,一直读取不到。。。

相关推荐

    基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统源码+全部资料

    基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统源码+全部资料基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统源码+全部资料基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统...

    51+lcd1602+dht11.zip

    项目中的"51单片机的DHT11温湿度监测"是一个典型的物联网应用实例,它展示了如何结合硬件和软件实现环境参数的采集与可视化。这样的项目对于学习嵌入式系统开发、I/O接口编程以及传感器应用等方面都具有很好的实践...

    stm32f103+dht11温湿度传感器例程

    stm32f103+dht11温湿度传感器读写例程 stm32f103+dht11温湿度传感器读写例程 stm32f103+dht11温湿度传感器读写例程 stm32f103+dht11温湿度传感器读写例程

    STM32F103VET6+LD3320+SYN6288+DHT11+电源+L298N原理图PCB文件(需要可联系)

    STM32F103VET6+LD3320+SYN6288+DHT11+电源+L298N原理图PCB文件STM32F103VET6+LD3320+SYN6288+DHT11+电源+L298N原理图PCB文件STM32F103VET6+LD3320+SYN6288+DHT11+电源+L298N原理图PCB文件STM32F103VET6+LD3320+SYN...

    《STM32单片机+DHT11温湿度传感器+OLED屏幕+蜂鸣器报警+温湿度数据发送到串口调试助手》源代码

    《STM32单片机+DHT11温湿度传感器+OLED屏幕+蜂鸣器报警+温湿度数据发送到串口调试助手》源代码

    基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统

    【作品名称】:基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目...

    STM32f103c8t6(c6t6)-ESP8266+onenet+dht11+oled+bh1750+远程控制led-pwm

    标题中的"STM32f103c8t6(c6t6)-ESP8266+onenet+dht11+oled+bh1750+远程控制led-pwm"是一个项目组合,包含了多个技术模块,让我们逐一解析: 1. **STM32f103c8t6/c6t6**:这是意法半导体(STMicroelectronics)的微...

    Arduino esp8266+dht11代码

    仅供参考。解决物联网课程中,对于要求wifi模块esp8266

    OLED+DHT11.zip

    从标签 "OLED+DHT11 ESP8266" 可以推断,这个项目专注于使用ESP8266芯片作为控制器,集成OLED显示屏和DHT11传感器,实现环境监控和数据可视化。 在压缩包内的文件列表中,我们看到以下内容: 1. `.autotools`:这...

    Arduino uno+esp8266+onenet+dht11温湿度传感器+MQ-2烟雾传感器

    本文将详细讲解一个基于Arduino Uno、ESP8266 WiFi模块、DHT11温湿度传感器和MQ-2烟雾传感器的项目,以及如何利用Onenet云平台远程监控和接收这些传感器的数据。 首先,Arduino Uno是一款基于Atmel AVR微控制器的...

    LCD+LCD1602+DHT11.zip

    标题 "LCD+LCD1602+DHT11.zip" 暗示了这个压缩包包含的内容主要涉及液晶显示屏(LCD)、LCD1602控制器以及DHT11温湿度传感器,这些是嵌入式系统和物联网项目中常见的硬件组件。在STM32微控制器的环境下,这些组件...

    基于STM32单片机+DHT11传感器的温湿度检测报警器数码管显示程序源码+Proteus仿真.rar

    基于STM32单片机+DHT11传感器的温湿度检测报警器数码管显示程序源码+Proteus仿真,主控制器是STM32F103单片机,DHT11传感器测量温度和湿度数据,数码管显示温度、湿度,精度1℃,三个按键可设置温度、湿度上限报警值...

    stm32_esp8266.rar_DHT11 STM32F103_STM32 8266_STM32+ESP8266+DHT11

    标题中的"stm32_esp8266.rar_DHT11 STM32F103_STM32 8266_STM32+ESP8266+DHT11"揭示了这个项目的核心组成部分:STM32微控制器(具体型号为STM32F103)、DHT11温湿度传感器以及ESP8266 WiFi模块。这个压缩包可能包含...

    基于点灯科技的温湿度传感器设计:STM32C8T6+DHT11+0.96寸oled显示屏+ESP8266

    统由Stm32芯片作为核心处理器,Dht11温湿度传感器模块作为检测 传感器,并由Oled显示屏进行显示,最后通过esp8266无线wifi传输到服务器端,服务器端转发到android端进行显示,并能在温度过高时进行震动提醒。...

    STM32+UCOSIII+EMWIN+DHT11波形显示

    在本项目中,EMWIN的GRAPH控件被用来实现实时显示DHT11传感器的温度和湿度波形,增强了用户体验。 【DHT11】DHT11是一种集成数字温湿度传感器,它能同时测量环境的温度和湿度,并通过单总线接口将数据传输给微控制...

    bh1750+dht11+yl69+usart hmi+stm32.zip

    该压缩包文件“bh1750+dht11+yl69+usart hmi+stm32.zip”显然包含了一系列与嵌入式系统开发相关的资源,特别是使用STM32微控制器的项目。让我们详细了解一下这些关键词所代表的知识点。 1. **STM32**: STM32是意法...

    stm32f103c8t6+esp8266+dht11+mpu6050+超声波+舵机控制连接onenet

    综上所述,这个项目展示了如何利用STM32F103C8T6微控制器整合多种传感器(DHT11温湿度传感器、超声波传感器)和舵机,通过ESP8266实现与OneNET云平台的数据交互。这样的设计可应用于智能家居、环境监测等多种物联网...

    STM32F103+DHT11.rar

    基于野火指南者STM32F103VE的DHT11工程文件。本程序是DHT11温湿度传感器数据的读取程序,采用的单片机是STM32F103VET6单片机,提供了DHT11.H头文件,和DHT11.C文件,获取温湿度的函数使用简单,大家可以自行下载

Global site tag (gtag.js) - Google Analytics