| 
					
				 | 
			
			
				@@ -1,10 +1,16 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.ruoyi.web.controller.common; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import javax.servlet.http.HttpServletResponse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.aliyun.oss.OSS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.aliyun.oss.OSSClientBuilder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.aliyun.oss.model.PutObjectRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.aliyun.oss.model.PutObjectResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.config.RuoYiConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.constant.Constants; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.core.domain.AjaxResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.utils.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.utils.file.FileUploadUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.utils.file.FileUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.framework.config.ServerConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import io.swagger.annotations.Api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import io.swagger.annotations.ApiImplicitParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import io.swagger.annotations.ApiOperation; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -14,13 +20,12 @@ import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.http.MediaType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.multipart.MultipartFile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.config.RuoYiConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.constant.Constants; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.core.domain.AjaxResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.utils.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.utils.file.FileUploadUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.utils.file.FileUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.framework.config.ServerConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.http.HttpServletResponse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.InputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 通用请求处理 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -79,27 +84,43 @@ public class CommonController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation(value = "上传文件", notes = "上传文件接口") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/send", method = RequestMethod.POST, headers = "content-type=multipart/form-data") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public AjaxResult uploadFile(@RequestPart("fire")MultipartFile file) throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // 上传文件路径 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String filePath = RuoYiConfig.getUploadPath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (filePath == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                throw new RuntimeException("找不到文件路径"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult uploadFile(@RequestPart("fire")MultipartFile file) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //上传并返回文件名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String filename = FileUploadUtils.upload(filePath, file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (filename == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String ObjectName = FileUploadUtils.upload(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ObjectName.substring(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System.out.println(ObjectName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectName == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 throw new RuntimeException("获取不到文件名称"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String url = serverConfig.getUrl()+filename; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            AjaxResult ajax = AjaxResult.success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ajax.put("fileName",filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ajax.put("url",url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return ajax; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String endpoint = "https://oss-cn-hangzhou.aliyuncs.com"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String accessKeyId = "LTAI5tKoTMqqQxRxoUGvPgNc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String accessKeySecret = "tUmxFgyggTeunzkJWCEZ6WpuOjvfnx"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 填写Bucket名称,例如examplebucket。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String bucketName = "c-zm"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //String objectName = "exampledir/exampleobject.txt"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            InputStream inputStream = file.getInputStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 创建OSSClient实例。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 创建PutObjectRequest对象。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, ObjectName, inputStream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 设置该属性可以返回response。如果不设置,则返回的response为空。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            putObjectRequest.setProcess("true"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 创建PutObject请求。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            PutObjectResult result = ossClient.putObject(putObjectRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 如果上传成功,则返回200。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System.out.println(result.getResponse().getStatusCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.error(e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return AjaxResult.success("https://c-zm.oss-cn-hangzhou.aliyuncs.com/" + ObjectName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 |