使用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
分享到:
相关推荐
【作品名称】:基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目...
基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统源码+全部资料基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统源码+全部资料基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统...
项目中的"51单片机的DHT11温湿度监测"是一个典型的物联网应用实例,它展示了如何结合硬件和软件实现环境参数的采集与可视化。这样的项目对于学习嵌入式系统开发、I/O接口编程以及传感器应用等方面都具有很好的实践...
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+SYN...
《STM32单片机+DHT11温湿度传感器+OLED屏幕+蜂鸣器报警+温湿度数据发送到串口调试助手》源代码
标题中的"STM32f103c8t6(c6t6)-ESP8266+onenet+dht11+oled+bh1750+远程控制led-pwm"是一个项目组合,包含了多个技术模块,让我们逐一解析: 1. **STM32f103c8t6/c6t6**:这是意法半导体(STMicroelectronics)的微...
仅供参考。解决物联网课程中,对于要求wifi模块esp8266
从标签 "OLED+DHT11 ESP8266" 可以推断,这个项目专注于使用ESP8266芯片作为控制器,集成OLED显示屏和DHT11传感器,实现环境监控和数据可视化。 在压缩包内的文件列表中,我们看到以下内容: 1. `.autotools`:这...
本文将详细讲解一个基于Arduino Uno、ESP8266 WiFi模块、DHT11温湿度传感器和MQ-2烟雾传感器的项目,以及如何利用Onenet云平台远程监控和接收这些传感器的数据。 首先,Arduino Uno是一款基于Atmel AVR微控制器的...
标题 "LCD+LCD1602+DHT11.zip" 暗示了这个压缩包包含的内容主要涉及液晶显示屏(LCD)、LCD1602控制器以及DHT11温湿度传感器,这些是嵌入式系统和物联网项目中常见的硬件组件。在STM32微控制器的环境下,这些组件...
基于STM32单片机+DHT11传感器的温湿度检测报警器数码管显示程序源码+Proteus仿真,主控制器是STM32F103单片机,DHT11传感器测量温度和湿度数据,数码管显示温度、湿度,精度1℃,三个按键可设置温度、湿度上限报警值...
标题中的"stm32_esp8266.rar_DHT11 STM32F103_STM32 8266_STM32+ESP8266+DHT11"揭示了这个项目的核心组成部分:STM32微控制器(具体型号为STM32F103)、DHT11温湿度传感器以及ESP8266 WiFi模块。这个压缩包可能包含...
统由Stm32芯片作为核心处理器,Dht11温湿度传感器模块作为检测 传感器,并由Oled显示屏进行显示,最后通过esp8266无线wifi传输到服务器端,服务器端转发到android端进行显示,并能在温度过高时进行震动提醒。...
在本项目中,EMWIN的GRAPH控件被用来实现实时显示DHT11传感器的温度和湿度波形,增强了用户体验。 【DHT11】DHT11是一种集成数字温湿度传感器,它能同时测量环境的温度和湿度,并通过单总线接口将数据传输给微控制...
该压缩包文件“bh1750+dht11+yl69+usart hmi+stm32.zip”显然包含了一系列与嵌入式系统开发相关的资源,特别是使用STM32微控制器的项目。让我们详细了解一下这些关键词所代表的知识点。 1. **STM32**: STM32是意法...
综上所述,这个项目展示了如何利用STM32F103C8T6微控制器整合多种传感器(DHT11温湿度传感器、超声波传感器)和舵机,通过ESP8266实现与OneNET云平台的数据交互。这样的设计可应用于智能家居、环境监测等多种物联网...
基于野火指南者STM32F103VE的DHT11工程文件。本程序是DHT11温湿度传感器数据的读取程序,采用的单片机是STM32F103VET6单片机,提供了DHT11.H头文件,和DHT11.C文件,获取温湿度的函数使用简单,大家可以自行下载