diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppFileController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppFileController.java index d782e5d..5082a94 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppFileController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppFileController.java @@ -1,6 +1,7 @@ package com.ruoyi.cms.controller.app; import com.ruoyi.cms.util.IdGenerator; +import com.ruoyi.cms.util.ProxyServerUtil; import com.ruoyi.common.core.domain.entity.File; import com.ruoyi.cms.service.IFileService; import com.ruoyi.common.core.controller.BaseController; @@ -11,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import java.util.List; @RestController @@ -44,10 +46,12 @@ public class AppFileController extends BaseController { @ApiOperation("上传文件") @PostMapping("/uploadFile") - public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, @RequestParam(value = "bussinessid",required = false) Long bussinessId) { + public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, @RequestParam(value = "bussinessid",required = false) Long bussinessId, HttpServletRequest request) { + String proxyServer = ProxyServerUtil.getProxyServer(request); + System.out.println("获取服务器地址======================"+proxyServer); if(bussinessId==null){ bussinessId=idGenerator.generateId(); } - return fileService.uploadFile(file,bussinessId); + return fileService.uploadFile(file,bussinessId,request); } } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IFileService.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IFileService.java index 7577db9..4e1b0aa 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IFileService.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IFileService.java @@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.entity.File; import com.ruoyi.common.core.domain.AjaxResult; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -56,5 +57,5 @@ public interface IFileService AjaxResult upload(MultipartFile file, Long bussinessid); - AjaxResult uploadFile(MultipartFile file, Long bussinessid); + AjaxResult uploadFile(MultipartFile file, Long bussinessid, HttpServletRequest request); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/FileServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/FileServiceImpl.java index b327b72..ae89fd4 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/FileServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/FileServiceImpl.java @@ -19,6 +19,8 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; + /** * 文件Service业务层处理 * @@ -129,7 +131,7 @@ public class FileServiceImpl extends ServiceImpl implements IF * @return */ @Override - public AjaxResult uploadFile(MultipartFile file, Long bussinessid) { + public AjaxResult uploadFile(MultipartFile file, Long bussinessid, HttpServletRequest request) { if (file.isEmpty()) { return AjaxResult.error("文件为空,请选择文件上传"); } @@ -151,7 +153,7 @@ public class FileServiceImpl extends ServiceImpl implements IF // 保存文件信息到数据库 File svFile=saveFileInfo(fileName, bussinessid); AjaxResult ajaxResult=AjaxResult.success(); - ajaxResult.put("filePath", StringUtil.getFilePath()+fileName); + ajaxResult.put("filePath", StringUtil.getFilePath(request)+fileName); ajaxResult.put("bussinessid",String.valueOf(bussinessid)); ajaxResult.put("id",String.valueOf(svFile.getId())); return ajaxResult; diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/ProxyServerUtil.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/ProxyServerUtil.java new file mode 100644 index 0000000..1aa4dcc --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/ProxyServerUtil.java @@ -0,0 +1,17 @@ +package com.ruoyi.cms.util; + +import javax.servlet.http.HttpServletRequest; + +public class ProxyServerUtil { + private static final String PROXY_HEADER = "X-Proxy-Server"; + + /** + * 从请求头中获取代理服务器标识(B或C) + * @param request HttpServletRequest + * @return 代理标识(如"proxy-b"、"proxy-c"),无则返回null + */ + public static String getProxyServer(HttpServletRequest request) { + // 从请求头中获取自定义标识 + return request.getHeader(PROXY_HEADER); + } +} \ No newline at end of file diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java index de0984a..1e975ed 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java @@ -1,5 +1,6 @@ package com.ruoyi.cms.util; +import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -59,7 +60,15 @@ public class StringUtil { /** * 正式环境环境地址 */ - public static final String PATH_PRO = "http://10.98.80.37/file/"; + public static final String PATH_PROXY_37 = "http://10.98.80.37/file/"; + /** + * 互联网 + */ + public static final String PATH_PROXY_50="http://10.98.80.50/file/"; + /** + * 经办端 + */ + public static final String PATH_PROXY_146="http://10.98.80.146/file/"; /** * 身份证规则 @@ -132,7 +141,33 @@ public class StringUtil { * 获取附件地址 * @return */ + public static String getFilePath(HttpServletRequest request){ + String proxyServer = getProxyServer(request); + if ("proxy-50".equals(proxyServer)) { + return PATH_PROXY_50; + } else if ("proxy-146".equals(proxyServer)) { + return PATH_PROXY_146; + } + return PATH_TEST_ENV ? PATH_PROXY_37 : PATH_DEV; + } + + /** + * 原方法-不传request + * @return + */ public static String getFilePath(){ - return !PATH_TEST_ENV?PATH_PRO:PATH_DEV; + return PATH_TEST_ENV ? PATH_PROXY_37 : PATH_DEV; + } + + /** + * 获取nginx地址 + * @param request + * @return + */ + private static String getProxyServer(HttpServletRequest request) { + if (request == null) { + return null; + } + return request.getHeader("X-Proxy-Server"); } }