From 74f8b8074a2fb391b5363b4dca5f99bf31993430 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 11 八月 2025 22:22:07 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/QYTDriving

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java |  130 +++++++++++++++++++++++++++++-------------
 1 files changed, 89 insertions(+), 41 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java
index f83729a..237fb5f 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java
@@ -1,12 +1,17 @@
 package com.stylefeng.guns.modular.system.controller.util;
 
+import com.heredata.hos.model.bucket.Bucket;
 import com.stylefeng.guns.config.properties.GunsProperties;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.common.exception.BizExceptionEnum;
 import com.stylefeng.guns.core.exception.GunsException;
 import com.stylefeng.guns.core.util.ObsUploadUtil;
+import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.util.OssUploadUtil;
+import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.util.huawei.OBSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,6 +40,9 @@
 
     @Autowired
     private GunsProperties gunsProperties;
+    
+    @Autowired
+    private QianYunTongConfig qianYunTongConfig;
 
     /**
      * 上传图片(上传到项目的webapp/static/img)
@@ -63,15 +71,38 @@
     public Map<String, Object> saveimg(HttpServletRequest request) {
         Map<String, Object> m = new HashMap<>();
         try {
-
+        
             String ossUpload = null;
             MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
             MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile");
+            QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
             if (file.getSize() != 0) {
-                InputStream inputStream = file.getInputStream();
-                String name = file.getOriginalFilename();
-                name = UUIDUtil.getRandomCode() + name.substring(name.lastIndexOf("."));
-                ossUpload = OBSUtil.putObjectToBucket(inputStream, name);
+                String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename());
+                String bucketName = qianYunTongConfig1.getBucketName();
+                Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+                if (null == grjyTest) {
+                    //创建桶
+                    Boolean bucket = NCOSSUtil.createBucket(bucketName);
+                    if (!bucket) {
+                        throw new RuntimeException("创建存储桶失败");
+                    }
+                    //设置桶策略
+                    String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+                    Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+                    if (!bucketPolicy) {
+                        throw new RuntimeException("设置桶策略失败");
+                    }
+                }
+                //上传对象
+                String key = "imgs/management/" + pictureName;
+                String object = NCOSSUtil.putObject(bucketName, key, file.getInputStream());
+                if (null == object) {
+                    throw new RuntimeException("上传图片失败");
+                }
+            
+                ossUpload = "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key;
+
+
 //                ossUpload = OssUploadUtil.ossUpload(request, file);
 //                ossUpload = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), file);
                 m.put("imgUrl", ossUpload);
@@ -86,25 +117,37 @@
     @ResponseBody
     public String image(@RequestPart("file") MultipartFile picture, HttpServletRequest request) {
         try {
-            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-            MultipartFile file = (MultipartFile) picture;
-            String name = file.getOriginalFilename();
-            String s = name.substring(name.lastIndexOf(".") + 1).toLowerCase();
-            if(!s.equals("jpg") && !s.equals("png") && !s.equals("jpeg")){
+            String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename());
+            QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
+            String bucketName = qianYunTongConfig1.getBucketName();
+            System.err.println("bucketName:"+bucketName);
+            Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+            if (null == grjyTest) {
+                //创建桶
+                Boolean bucket = NCOSSUtil.createBucket(bucketName);
+                if (!bucket) {
+                    return null;
+                }
+                //设置桶策略
+                String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+                Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+                if (!bucketPolicy) {
+                    return null;
+                }
+            }
+            //上传对象
+            String key = "imgs/management/" + pictureName;
+            String object = NCOSSUtil.putObject(bucketName, key, picture.getInputStream());
+            if (null == object) {
                 return null;
             }
-            long size = file.getSize();
-            if(size > 524288000L){//500M限制
-                return "请上传500M以内的文件";
-            }
-            InputStream inputStream = file.getInputStream();
-            String name1 = file.getOriginalFilename();
-            name1 = UUIDUtil.getRandomCode() + name1.substring(name1.lastIndexOf("."));
-//            String pictureName = OBSUtil.putObjectToBucket(inputStream, name1);
-            String pictureName = OssUploadUtil.ossUpload(request, file);
-//            String pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture);
+        
+            pictureName = "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key;
+
+            System.out.println("mediaResp");
             return pictureName;
-        } catch (IOException e1) {
+        } catch (Exception e1) {
+            e1.printStackTrace();
             return null;
         }
     }
@@ -138,31 +181,36 @@
      */
     @RequestMapping("/imageUp")
     public String imageUp(@RequestPart("upfile") MultipartFile picture, HttpServletRequest request) {
-        long size = picture.getSize();
-        if(size > 524288000L){//500M限制
-            return "请上传500M以内的文件";
-        }
         String callback = request.getParameter("callback");
-        String pictureName = UUID.randomUUID().toString() + ".jpg";
         try {
             // 上传文件目录
-            //String fileSavePath = gunsProperties.getFileUploadPath();
-            //picture.transferTo(new File(fileSavePath + pictureName));
-            // 文件全路径
-            //pictureName = gunsProperties.getPictureServerAddress() + pictureName;
-//           pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture);
-
-            String name = picture.getOriginalFilename();
-            String s = name.substring(name.lastIndexOf(".") + 1).toLowerCase();
-            if(!s.equals("jpg") && !s.equals("png") && !s.equals("jpeg")){
-                return null;
+            String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename());
+            QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
+            String bucketName = qianYunTongConfig1.getBucketName();
+            Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+            if (null == grjyTest) {
+                //创建桶
+                Boolean bucket = NCOSSUtil.createBucket(bucketName);
+                if (!bucket) {
+                    throw new RuntimeException("创建存储桶失败");
+                }
+                //设置桶策略
+                String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+                Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+                if (!bucketPolicy) {
+                    throw new RuntimeException("设置桶策略失败");
+                }
             }
-            InputStream inputStream = picture.getInputStream();
-            String name1 = picture.getOriginalFilename();
-            name1 = UUIDUtil.getRandomCode() + name1.substring(name1.lastIndexOf("."));
-            pictureName = OBSUtil.putObjectToBucket(inputStream, name1);
+            //上传对象
+            String key = "imgs/management/" + pictureName;
+            String object = NCOSSUtil.putObject(bucketName, key, picture.getInputStream());
+            if (null == object) {
+                throw new RuntimeException("上传图片失败");
+            }
+        
+            pictureName = "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key;
 //            pictureName = OssUploadUtil.ossUpload(super.getHttpServletRequest(), picture);
-
+        
             String result = "{'original': '" + picture.getOriginalFilename() + "', 'state': 'SUCCESS', 'url': '" + pictureName + "'}";
             if (callback == null) {
                 return result;

--
Gitblit v1.7.1