Browse Source

oss 下载文件

dengsixing 3 năm trước cách đây
mục cha
commit
0739f6b310

+ 1 - 1
4dkankan-common-utils/src/main/java/com/fdkankan/common/util/CreateObjUtil.java

@@ -612,7 +612,7 @@ public class CreateObjUtil {
 	}
 
 	public static void main(String[] args) throws Exception{
-		CreateObjUtil.convertTxtToVisionmodeldata("F:\\visiontest\\KJ-HXMNTDYs1E(2)(1).txt", "F:\\visiontest\\vision.modeldata");
+		CreateObjUtil.convertTxtToVisionmodeldata("F:\\visiontest\\KJ-HXMNTDYs1E_3.txt", "F:\\visiontest\\vision.modeldata");
 //		CreateObjUtil.convertTxtToDam("F:\\visiontest\\modeldata.txt", "F:\\visiontest\\dacf7dfa24ae47fab8fcebfe4dc41ab9_50k.dam");
 
 //		String text = "web:web";

+ 14 - 59
4dkankan-common-utils/src/main/java/com/fdkankan/common/util/FileUtils.java

@@ -1,5 +1,6 @@
 package com.fdkankan.common.util;
 
+import cn.hutool.core.util.ZipUtil;
 import com.alibaba.fastjson.JSONObject;
 import it.sauronsoftware.jave.*;
 import java.net.MalformedURLException;
@@ -1030,66 +1031,20 @@ public class FileUtils {
     }
 
     public static void main(String[] args) throws Exception {
-//        try{
-//            String path = "H:\\test";
-//            InputStream is = null;
-//            String url = "https://file.api.weixin.qq.com/cgi-bin/media/get?access_token=41_veJ0V1PKdwBerxV6qcgty6opVroUYq5xgGG2uaK2f3PNBZNYttxNkTAHWyMt3AYb7iNn7cvpm87sXQhxBlhd6dBekczYR8-j49Hv85HMIV6HVsaMhjYE0QKtJ1C-HFfmsICMaSuvOBczkro5GDEeACAZWX&media_id=mXE_24SEX4-xfg0vB36KnfnkAHaFla5Fz4app1rgFiZDUtUJv04cQgJTOXHN32mm";
-//            URL urlGet = new URL(url);
-//            HttpURLConnection http = (HttpURLConnection) urlGet
-//                    .openConnection();
-//            http.setRequestMethod("GET"); // 必须是get方式请求
-//            http.setRequestProperty("Content-Type",
-//                    "application/x-www-form-urlencoded");
-//            http.setDoOutput(true);
-//            http.setDoInput(true);
-//            System.setProperty("sun.net.client.defaultConnectTimeout", "30000");// 连接超时30秒
-//            System.setProperty("sun.net.client.defaultReadTimeout", "30000"); // 读取超时30秒
-//            http.connect();
-//            // 获取文件转化为byte流
-//            is = http.getInputStream();
-//            File dic = new File(path);
-//            if(!dic.exists())
-//            {
-//                dic.mkdirs();
-//            }
-//            File voice = new File(path+File.separator+ ConstantFileName.WECHAT_VOICE_NAME+".amr");
-//            if(voice.exists())
-//            {
-//                FileUtils.deleteFile(path+File.separator+ConstantFileName.WECHAT_VOICE_NAME+".amr");
-//            }
-//            FileUtils.saveImageToDisk(null, null, ConstantFileName.WECHAT_VOICE_NAME, path+File.separator, is);
-//            System.out.println("下载完成");
-
-//            FileUtils.zipFile("F:\\test.zip", "F:\\downloads\\v3local");
-
-//            ZipOutputStream out = new ZipOutputStream(new FileOutputStream("F:\\test.zip"));
-//            File file = new File("F:\\test\\aaa\\sdf.jpg");
-//            FileInputStream in = new FileInputStream(file);
-//            FileUtils.zipTest(out, "aaa\\sdf.jpg", in);
-//            out.close();
-//
-//            File file = new File("F:\\test");
-//            List<String> list = FileUtils.list(file);
-//            for (String s : list) {
-//                System.out.println(s);
-//            }
-
-//            byte[] bytesFromUrl = FileUtils.getBytesFromUrl(
-//                "https://4dkankan.oss-cn-shenzhen.aliyuncs.com/"
-//                    + "data/datat-ieXdyGl6Md/mesh/texture1.jpg");
-//            FileOutputStream out = new FileOutputStream(new File("F:\\texture1.jpg"));
-//            out.write(bytesFromUrl);
-
-//            List<String> test = null;
-//            List<String> collect = test.stream().map(t -> {
-//                return t;
-//            }).collect(Collectors.toList());
-
-
-//        }catch (Exception e){
-//            e.printStackTrace();
+
+//        ZipUtil.zip("F:\\test\\images", "F:\\test\\images.zip", false);
+//        FileUtils.zipFile("F:\\test\\images.zip", "F:\\test\\images");
+//        List<String> fileList = FileUtil.getFileList("F:\\test\\images\\");
+//        for (String s : fileList) {
+//            System.out.println(s);
+//        }
+
+//        List<String> keyList = cn.hutool.core.io.FileUtil.("F:\\test\\images\\");
+//        for (String s : keyList) {
+//            System.out.println(s);
 //        }
-        FileUtils.decompress("F:\\test\\KJ-t-VJNe28ZImv_images_展厅全景图.zip", "F:\\test\\aaa");
+
+        cn.hutool.core.io.FileUtil.copy("F:\\test2\\1.txt", "F:\\test1\\1.txt", true);
 
     }
 

+ 24 - 0
4dkankan-common-utils/src/main/java/com/fdkankan/common/util/SceneUtil.java

@@ -1,7 +1,14 @@
 package com.fdkankan.common.util;
 
+import cn.hutool.core.io.FileUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.constant.ConstantFilePath;
 import java.io.File;
+import java.nio.charset.Charset;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -31,4 +38,21 @@ public class SceneUtil {
         return path;
     }
 
+    /**
+     * 根据vision.txt获取全景图名称列表
+     * @param visionPath
+     * @return
+     */
+    public static List<String> getPanoramaImageList(String visionPath){
+        String visionTxt = FileUtil.readString(visionPath, Charset.forName("UTF-8"));
+        JSONObject visionObject = JSON.parseObject(visionTxt);
+        JSONArray sweepLocations = visionObject.getJSONArray("sweepLocations");
+        List<String> imageList = sweepLocations.parallelStream().map(o -> {
+            JSONObject item = (JSONObject) o;
+            return item.getString("uuid") + ".jpg";
+        }).collect(Collectors.toList());
+        return imageList;
+    }
+
+
 }

+ 58 - 26
4dkankan-utils-fyun/src/main/java/com/fdkankan/fyun/oss/UploadToOssUtil.java

@@ -556,32 +556,6 @@ public class UploadToOssUtil {
 		return item;
 	}
 
-	/**
-	 * 下载文件
-	 * @param bucketName	桶名
-	 * @param remoteFileName	文件名
-	 * @param path	下载路径
-	 */
-	public boolean downFromS3(String bucketName, String remoteFileName, String path) {
-		try {
-			/**
-			 * 创建s3对象
-			 */
-			BasicAWSCredentials awsCreds = new BasicAWSCredentials(s3key, s3secrey);
-			AmazonS3 s3 = AmazonS3ClientBuilder.standard()
-					.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
-					.withRegion(Regions.EU_WEST_2)
-					.build();
-
-			GetObjectRequest request  = new GetObjectRequest(bucketName,remoteFileName);
-			s3.getObject(request,new File(path));
-			return true;
-		} catch (Exception ase) {
-			log.error("amazonS3下载文件异常 " + ase.getMessage(), ase);
-		}
-		return false;
-	}
-
 	public List<String> listKeys(String sourcePath){
 		StorageType storageType = StorageType.get(type);
 		switch (storageType){
@@ -996,4 +970,62 @@ public class UploadToOssUtil {
 		return null;
 	}
 
+	/**
+	 * oss下载文件到本地
+	 * @param key
+	 * @param localPath
+	 */
+	public boolean download(String objectName, String localPath){
+		StorageType storageType = StorageType.get(this.type);
+		switch (storageType){
+			case OSS:
+				return this.downFormAli(objectName, localPath);
+			case AWS:
+				return this.downFromS3(objectName, localPath);
+		}
+		return false;
+	}
+
+	/**
+	 * 从阿里云oss下载文件到本地
+	 * @param key 云端文件k地址
+	 * @param localPath 本地文件地址
+	 * @return
+	 */
+	public boolean downFormAli(String objectName, String localPath){
+		OSSClient ossClient = new OSSClient(point, key, secrey);
+		try {
+			com.aliyun.oss.model.GetObjectRequest request  = new com.aliyun.oss.model.GetObjectRequest(bucket,objectName);
+			ossClient.getObject(request, new File(localPath));
+			return true;
+		}catch (Exception e){
+			log.error("阿里云oss文件下载失败,key=" + objectName, e);
+			ossClient.shutdown();
+		}
+		return false;
+	}
+
+	/**
+	 * 从s3下载文件到本地
+	 * @param key 云端文件k地址
+	 * @param localPath 本地文件地址
+	 * @return
+	 */
+	public boolean downFromS3(String objectName, String localPath) {
+		BasicAWSCredentials awsCreds = new BasicAWSCredentials(s3key, s3secrey);
+		AmazonS3 s3 = AmazonS3ClientBuilder.standard()
+			.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
+			.withRegion(Regions.EU_WEST_2)
+			.build();
+		try {
+			GetObjectRequest request  = new GetObjectRequest(this.bucket,objectName);
+			s3.getObject(request,new File(localPath));
+			return true;
+		} catch (Exception e) {
+			log.error("amazonS3下载文件失败,key=" + objectName, e);
+			s3.shutdown();
+		}
+		return false;
+	}
+
 }