fuyu 6 vuotta sitten
vanhempi
commit
829ef3ec95

+ 14 - 8
dicom_monitor/src/main/java/com/zskk/dicom/config/OSSConfig.java

@@ -1,13 +1,19 @@
 package com.zskk.dicom.config;
 
+import com.zskk.dicom.monitor.config.Configs;
+
 public class OSSConfig {
-	public static String HOSPITAL_ID = "1234234";
-	public static String ENDPOINT = "oss-cn-beijing.aliyuncs.com";
+//	public static String HOSPITAL_ID = "1234234";
+//	public static String ENDPOINT = "oss-cn-beijing.aliyuncs.com";
 	// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
-	public static String ACCESS_KEY_ID = "LTAImzRGKfWaL7Vi";
-	public static String ACCESS_KEY_SECRET = "GjWdd2cdHtbQkhhnhSxNbw0QChKD98";
-	public static String BUCKET_NAME = "zskk";
-	public static String ALIYUN_OSS_CALLBACK_URL = "http://api.aliyuoss.callback.pacsonline.cn/oss_callback";
-	public static String REGION = "oss-cn-beijing";
-	public static String BASE_ALIYUN_OSS_URL = "http://zskk.oss-cn-beijing.aliyuncs.com/";
+	public static final String ACCESS_KEY_ID = "LTAImzRGKfWaL7Vi";
+	public static final String ACCESS_KEY_SECRET = "GjWdd2cdHtbQkhhnhSxNbw0QChKD98";
+//	public static String BUCKET_NAME = "zskk";
+	public static final String ALIYUN_OSS_CALLBACK_URL = "http://api.aliyuoss.callback.pacsonline.cn/oss_callback";
+	public static final String BASE_ALIYUN_OSS_URL = ".oss-cn-beijing.aliyuncs.com/";
+
+	public static String generateBodyStr(String md5 , long size) {
+		String url = Configs.ossScheme + "://" + Configs.ossBucketName + BASE_ALIYUN_OSS_URL + md5;
+		return "{\\\"hospital_id\\\":\\\"" + Configs.hospitalId +"\\\",\\\"region\\\":\\\"" + Configs.ossRegion + "\\\",\\\"md5\\\":\\\"" + md5 + "\\\",\\\"url\\\":\\\"" + url + "\\\",\\\"size\\\":" + size + "}";
+	}
 }

+ 26 - 1
dicom_monitor/src/main/java/com/zskk/dicom/monitor/config/Configs.java

@@ -78,7 +78,26 @@ public class Configs {
 	 * 系统日志(包含系统、异常、业务处理等)
 	 */
 	public static LogEnginer sysLog = new LogEnginer("sys");
-
+	/**
+	 * 阿里云OSS region
+	 */
+	public static String ossRegion = "oss-cn-beijing";
+	/**
+	 * 阿里云OSS endpoint
+	 */
+	public static String ossEndpoint = "oss-cn-beijing.aliyuncs.com";
+	/**
+	 * 阿里云OSS bucket
+	 */
+	public static String ossBucketName = "zskk";
+	/**
+	 * 阿里云OSS 访问协议默认http
+	 */
+	public static String ossScheme = "http";
+	/**
+	 * 阿里云OSS 回调url
+	 */
+	public static String ossCallbackUrl = "http://api.test.aliyuoss.callback.pacsonline.cn/oss_callback";
 	/**
 	 * 初始化配置信息
 	 */
@@ -101,6 +120,12 @@ public class Configs {
 		errReportFromEmail = rb.getString("monitor.errReportFromEmail");
 		errReportFromEmailHost = rb.getString("monitor.errReportFromEmailHost");
 		errReportFromEmailPwd = rb.getString("monitor.errReportFromEmailPwd");
+		
+		ossRegion = rb.getString("monitor.oss.region");
+		ossEndpoint = rb.getString("monitor.oss.endpoint");
+		ossBucketName = rb.getString("monitor.oss.bucket");
+		ossScheme = rb.getString("monitor.oss.scheme");
+		ossCallbackUrl = rb.getString("monitor.oss.callback_url");
 	}
 
 }

+ 12 - 1
dicom_monitor/src/main/java/com/zskk/dicom/monitor/uploader/FileUploader.java

@@ -15,6 +15,7 @@ import java.util.UUID;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+import com.zskk.dicom.config.OSSConfig;
 import com.zskk.dicom.monitor.config.Configs;
 import com.zskk.dicom.monitor.report.ErrReporter;
 import com.zskk.dicom.monitor.utils.ExceptionUtil;
@@ -26,12 +27,22 @@ public class FileUploader {
 	private static ExecutorService pools = Executors.newFixedThreadPool(2);;
 
 	public static void upload(File file) {
+		if(file == null || !file.exists()) {
+			ErrReporter.report("file 为空 或者 file不存在");
+			return;
+		}
 		try {
 			String boundaryKey = UUID.randomUUID().toString().replaceAll("-", "").substring(8, 24);
 			String content = "\r\n----" + boundaryKey + "\r\n" + "Content-Type: application/octet-stream\r\n" + "Content-Disposition: form-data; name=\"" + renameFileName(file.getName()) + "\"; filename=\"" + renameFileName(file.getName()) + "\"\r\n" + "Content-Transfer-Encoding: binary\r\n\r\n";
 			String postUrl = "http://" + Configs.postHost + ":" + Configs.postPort + Configs.postUri;
 //			Boolean uploadResult = uploadToUrl(postUrl, boundaryKey, content, "", file);
-			Boolean uploadResult = OSSFileAndCallbackHleper.getInstance().upload(file);
+			Boolean uploadResult = false;
+			try {
+				uploadResult = new OSSFileAndCallbackHleper(Configs.ossEndpoint, OSSConfig.ACCESS_KEY_ID, OSSConfig.ACCESS_KEY_SECRET).upload(file);
+			} catch (Exception e) {
+				ErrReporter.report(ExceptionUtil.getExceptionTxt(e));
+				e.printStackTrace();
+			}
 			if (uploadResult == true) {
 				// 创建目录
 				String targetFileStr = MonitorFileUtils.touchBackDir(file);

+ 1 - 1
dicom_monitor/src/main/java/com/zskk/dicom/oss/BaseOSSHleper.java

@@ -5,6 +5,6 @@ import java.io.File;
 import com.zskk.dicom.response.BaseResponse;
 
 public interface BaseOSSHleper {
-	boolean upload(File file);
+	boolean upload(File file) throws Exception;
 	boolean exist(String md5);
 }

BIN
dicom_monitor/src/main/java/com/zskk/dicom/oss/OSSFileAndCallbackHleper.java


+ 10 - 6
dicom_monitor/src/main/resources/project.properties

@@ -1,12 +1,16 @@
-monitor.monitorDir=/Users/fuyu/Desktop/image/test
-monitor.hospitalId=11000001
+monitor.monitorDir=/home/zskk/zskk_system/ScpServer/Release/DICOM
+monitor.hospitalId=13000001
 monitor.postHost=api.pacsonline.cn
 monitor.postPort=80
 monitor.postUri=/upload
 monitor.errReportTitle=dicome-error-report
 monitor.errReportTimeInterval=60
-monitor.errReportToEmail=denggx@pacsonline.cn;liu.tao@pacsonline.cn;fu.yu@pacsonline.cn
-monitor.errReportFromEmail=denggx@pacsonline.cn
+monitor.errReportToEmail=liu.tao@pacsonline.cn;fu.yu@pacsonline.cn
+monitor.errReportFromEmail=zskk@pacsonline.cn
 monitor.errReportFromEmailHost=smtp.exmail.qq.com
-monitor.errReportFromEmailPwd=123456Dgx
-
+monitor.errReportFromEmailPwd=Abc1234
+monitor.oss.region=oss-cn-beijing
+monitor.oss.endpoint=oss-cn-beijing.aliyuncs.com
+monitor.oss.scheme=http
+monitor.oss.bucket=zskk-test
+monitor.oss.callback_url=http://api.test.aliyuoss.callback.pacsonline.cn/oss_callback

+ 2 - 2
dicom_monitor/src/test/java/dicom_monitor/OSSTest.java

@@ -8,8 +8,8 @@ import com.zskk.dicom.response.bean.FileUploadResponseBean;
 
 public class OSSTest {
 	public static void main(String[] args) {
-		boolean flag = OSSFileAndCallbackHleper.getInstance().upload(new File("/Users/fuyu/Desktop/image/2"));
-		System.out.println(flag);
+//		boolean flag = OSSFileAndCallbackHleper.getInstance().upload(new File("/Users/fuyu/Desktop/image/2"));
+//		System.out.println(flag);
 //		System.out.println(response.getError());
 //		System.out.println(response.getData());
 //		FileUploadResponseBean data = (FileUploadResponseBean) response.getData();

+ 1 - 1
dicom_monitor/target/surefire-reports/TEST-dicom_monitor.OSSTest.xml

@@ -26,7 +26,7 @@
 "/>
     <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
     <property name="os.name" value="Mac OS X"/>
-    <property name="classworlds.conf" value="/Users/fuyu/Documents/workspace/.metadata/.plugins/org.eclipse.m2e.launching/launches/m2conf1535973334790014257.tmp"/>
+    <property name="classworlds.conf" value="/Users/fuyu/Documents/workspace/.metadata/.plugins/org.eclipse.m2e.launching/launches/m2conf3745508858778785256.tmp"/>
     <property name="sun.jnu.encoding" value="UTF-8"/>
     <property name="java.library.path" value="/Users/fuyu/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
     <property name="java.specification.name" value="Java Platform API Specification"/>

+ 1 - 1
dicom_monitor/target/surefire-reports/dicom_monitor.OSSTest.txt

@@ -1,4 +1,4 @@
 -------------------------------------------------------------------------------
 Test set: dicom_monitor.OSSTest
 -------------------------------------------------------------------------------
-Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
+Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec

BIN
dicom_monitor/target/zskk-dicom-monitor-jar-with-dependencies.jar


BIN
dicom_monitor/target/zskk-dicom-monitor.jar.original