添加minio上传接口

This commit is contained in:
RenKaiGe-Office
2018-09-21 11:14:58 +08:00
parent e344c7d2f6
commit b874b7b479
5 changed files with 75 additions and 7 deletions

View File

@@ -579,6 +579,13 @@
<version>0.1.40</version> <version>0.1.40</version>
</dependency> </dependency>
<!--注意使用该包时,必须使用jdk1.8以上的版本,否则会报 Unsupported major.minor version 52.0错误,如出现该错误,请将项目的编译环境或tomcat的运行依赖的jdk调整为1.8以上 -->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>3.0.12</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -328,6 +328,10 @@ public enum RestBusinessCode {
* 回调类checksum与文件MD5值不一致 * 回调类checksum与文件MD5值不一致
*/ */
CheckSumIsWrong(4001603,"checksum与文件MD5值不一致"), CheckSumIsWrong(4001603,"checksum与文件MD5值不一致"),
/**
* minio地址和端口不能为空
*/
MinioUrlIsNull(4001604,"minio地址和端口不能为空"),
//配置业务格式验证 20000 //配置业务格式验证 20000
/** /**

View File

@@ -15,6 +15,7 @@ public final class Configurations {
prop.load(Configurations.class.getResourceAsStream("/applicationConfig-maatOracle.properties")); prop.load(Configurations.class.getResourceAsStream("/applicationConfig-maatOracle.properties"));
prop.load(Configurations.class.getResourceAsStream("/applicationConfig-rule.properties")); prop.load(Configurations.class.getResourceAsStream("/applicationConfig-rule.properties"));
prop.load(Configurations.class.getResourceAsStream("/fastdfs-client.properties")); prop.load(Configurations.class.getResourceAsStream("/fastdfs-client.properties"));
prop.load(Configurations.class.getResourceAsStream("/jdbc.properties"));
} catch (Exception e) { } catch (Exception e) {
prop = null; prop = null;

View File

@@ -0,0 +1,46 @@
package com.nis.util;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.nis.restful.RestBusinessCode;
import com.nis.restful.RestServiceException;
import io.minio.MinioClient;
public class MinioUtil {
private static String minio_url = Configurations.getStringProperty("minio_url", "http://192.168.10.61:9000");;
private static String minio_accessKey = Configurations.getStringProperty("minio_accessKey", "");;
private static String minio_secretKey = Configurations.getStringProperty("minio_secretKey", "");;
private static String minio_bucketName = Configurations.getStringProperty("minio_bucketName", "test");;
/**
* 上传文件到minio
* @param inputStream 上传的文件流
* @param fileName 文件名称
* @param contentType 文件类型
* @return 返回文件上传路径
* @throws Exception
*/
public static String uploadFile(InputStream inputStream, String fileName, String contentType) throws Exception {
MinioClient minioClient = null;
if (minio_url != null && !minio_url.trim().equals("")) {
if (minio_accessKey != null && !minio_accessKey.trim().equals("") && minio_secretKey != null
&& !minio_secretKey.trim().equals("")) {
minioClient = new MinioClient(minio_url, minio_accessKey, minio_secretKey);
} else {
minioClient = new MinioClient(minio_url);
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMDDHHMMss");
String ymd = sdf.format(new Date());
String objectName = ymd + "-" + fileName;
minioClient.putObject(minio_bucketName, objectName, inputStream, inputStream.available(), contentType);
String url = minioClient.getObjectUrl(minio_bucketName, objectName);
return url;
}else {
throw new RestServiceException("minio服务器地址为空,请联系管理员检查jdbc.properties中minio_url的值", RestBusinessCode.MinioUrlIsNull.getValue());
}
}
}

View File

@@ -1,9 +1,9 @@
#==========日志库 Mysql======================= #==========日志库 Mysql=======================
jdbc.log.driver=com.mysql.jdbc.Driver jdbc.log.driver=com.mysql.jdbc.Driver
#元辰鑫内网 #元辰鑫内网
#jdbc.log.url=jdbc:mysql://10.0.6.249:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull jdbc.log.url=jdbc:mysql://10.0.6.249:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
#华严 #华严
jdbc.log.url=jdbc:mysql://192.168.11.242:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #jdbc.log.url=jdbc:mysql://192.168.11.242:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
#元辰鑫外网 #元辰鑫外网
#jdbc.log.url=jdbc:mysql://192.168.10.204:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #jdbc.log.url=jdbc:mysql://192.168.10.204:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
#亦庄演示环境 #亦庄演示环境
@@ -41,9 +41,9 @@ bonecp.statementsCacheSize=100
#A版日志库 #A版日志库
jdbc.hive.driver=org.apache.hive.jdbc.HiveDriver jdbc.hive.driver=org.apache.hive.jdbc.HiveDriver
#元辰鑫内网 #元辰鑫内网
#jdbc.hive.url=jdbc:hive2://10.0.6.202:10000/maat jdbc.hive.url=jdbc:hive2://10.0.6.202:10000/maat
#华严 #华严
jdbc.hive.url=jdbc:hive2://192.168.11.243:2181,192.168.10.76:2181,192.168.10.77:2181/maat;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2 #jdbc.hive.url=jdbc:hive2://192.168.11.243:2181,192.168.10.76:2181,192.168.10.77:2181/maat;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2
#元辰鑫外网 #元辰鑫外网
#jdbc.hive.url=jdbc:hive2://192.168.10.22:10000/maat #jdbc.hive.url=jdbc:hive2://192.168.10.22:10000/maat
#亦庄演示环境高可用集群连接,注意使用此种方法需要配置hosts,主机名与ip的对应关系 #亦庄演示环境高可用集群连接,注意使用此种方法需要配置hosts,主机名与ip的对应关系
@@ -113,7 +113,17 @@ druid.log.filters=stat
#########################################################################
##minio地址
#########################################################################
##minio的地址,注意前面的http://不要忘记写
minioUrl=http://192.168.10.61:9000
##minio的accessKey
minio_accessKey=
##minio的secretKey
minio_secretKey=
##minio的bucketName
minio_bucketName=test
@@ -121,9 +131,9 @@ druid.log.filters=stat
##redis连接 ##redis连接
##################################################################################################################################### #####################################################################################################################################
#元辰鑫内网 #元辰鑫内网
#redis.host=10.0.6.249 redis.host=10.0.6.249
#华严 #华严
redis.host=192.168.11.243 #redis.host=192.168.11.243
#元辰鑫外网 #元辰鑫外网
#redis.host=192.168.10.205 #redis.host=192.168.10.205
#亦庄测试环境 #亦庄测试环境