浏览代码

add updateOssStatusJson

xiewj 1 年之前
父节点
当前提交
455687c1ec

+ 17 - 0
720yun_fd_consumer/gis_consumer_oss/src/main/java/com/gis/oss/util/AliYunOssUtil.java

@@ -115,6 +115,23 @@ public class AliYunOssUtil {
             log.error(e.toString() + key);
         }
     }
+    /**
+     *
+     * @param data
+     * @param key
+     * application/octet-stream 使用cdn后会自动下载
+     * @throws IOException
+     */
+    public void upload(String bucket,byte[] data, String key ) throws IOException {
+        OSSClient ossClient = init();
+        // 创建上传文件的元信息,可以通过文件元信息设置HTTP header。
+        try {
+            // 2019-2-28 启动aliyun oss 空间
+            ossClient.putObject(bucket, key, new ByteArrayInputStream(data));
+        } catch (Exception e) {
+            log.error(e.toString() + key);
+        }
+    }
 
 
     public void upload(String filePath, String key) {

+ 17 - 0
720yun_fd_consumer/gis_consumer_oss/src/main/java/com/gis/oss/util/AwsOssUtil.java

@@ -62,6 +62,23 @@ public class AwsOssUtil {
             }
         }
     }
+    public void uploadAws(String bucket,byte[] data,String objectName){
+        BasicAWSCredentials awsCreds = new BasicAWSCredentials(s3key, s3secrecy);
+        AmazonS3 s3 = AmazonS3ClientBuilder.standard()
+                .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
+                .withRegion(Regions.EU_WEST_2)
+                .build();
+        try {
+            com.amazonaws.services.s3.model.ObjectMetadata metadata = new com.amazonaws.services.s3.model.ObjectMetadata();
+            s3.putObject(bucket, objectName, new ByteArrayInputStream(data), metadata);
+        }catch (Exception e){
+            log.error("s3上传文件失败", e);
+        }finally {
+            if(s3 != null){
+                s3.shutdown();
+            }
+        }
+    }
 
     public void uploadAwsWithHeaders(String filePath, String key1,Map<String,String> headers){
         try{

+ 18 - 1
720yun_fd_consumer/gis_consumer_oss/src/main/java/com/gis/oss/util/FileAndOssUtil.java

@@ -101,7 +101,24 @@ public class FileAndOssUtil {
 	 * 第二个参数是本地文件路径
 	 */
 	private static final String UPLOAD_SH = "bash /opt/ossutil/upload.sh %s %s";
-
+	public void upload(String bucket,byte[] data,String key1) throws IOException{
+//		log.info("开始上传文件 源路径:{},目标路径:{}, type:{}" , new String(data, "UTF-8"), key1, type);
+		log.info("开始上传文件 , 目标路径:{}, type:{}" ,  key1, type);
+		StorageType storageType = StorageType.get(type);
+		switch (storageType){
+			case OSS:
+//				uploadOss(data,key1);
+				aliyunOssUtil.upload(bucket,data, key1);
+				break;
+			case AWS:
+//				uploadAws(data,key1);
+				awsOssUtil.uploadAws(bucket,data, key1);
+				break;
+			case LOCAL:
+//				uploadLocal(data,key1);
+				break;
+		}
+	}
 	//上传的数据是byte[],key是上传后的文件名
 	public void upload(byte[] data,String key1) throws IOException{
 //		log.info("开始上传文件 源路径:{},目标路径:{}, type:{}" , new String(data, "UTF-8"), key1, type);