diff --git a/dsBase/src/main/java/com/dsideal/base/BaseApplication.java b/dsBase/src/main/java/com/dsideal/base/BaseApplication.java index 4bb12081..38b26813 100644 --- a/dsBase/src/main/java/com/dsideal/base/BaseApplication.java +++ b/dsBase/src/main/java/com/dsideal/base/BaseApplication.java @@ -56,6 +56,9 @@ public class BaseApplication extends JFinalConfig { //加载配置文件 String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix()); PropKit = new YamlProp(configFile); + + // 设置静态根目录为上传根目录 + me.setBaseUploadPath(PropKit.get("uploadTempPath")); } /** diff --git a/dsBase/src/main/java/com/dsideal/base/Global/Controller/GlobalController.java b/dsBase/src/main/java/com/dsideal/base/Global/Controller/GlobalController.java index 0fe89eb6..6d58d148 100644 --- a/dsBase/src/main/java/com/dsideal/base/Global/Controller/GlobalController.java +++ b/dsBase/src/main/java/com/dsideal/base/Global/Controller/GlobalController.java @@ -13,6 +13,7 @@ import com.jfinal.plugin.activerecord.Record; import com.jfinal.upload.UploadFile; import org.apache.commons.lang.StringUtils; import org.bouncycastle.util.encoders.Base64; +import org.checkerframework.checker.units.qual.A; import java.io.File; import java.util.List; @@ -210,14 +211,18 @@ public class GlobalController extends Controller { @Before({POST.class}) public void testPost(int a) { + String Authorization = getRequest().getHeader("Authorization"); + System.out.println("Authorization=" + Authorization); renderJson(CommonUtil.returnMessageJson(true, "保存成功!a=" + a)); } @Before({POST.class}) public void testUpload() { - System.out.println(getRequest().getContentType()); + //System.out.println(getRequest().getContentType()); UploadFile uploadFile = getFile("file");//parameterName对应jsp页面中的 + + if (uploadFile != null) { // 获取文件的原始名称 String originalFileName = uploadFile.getOriginalFileName(); diff --git a/dsBase/src/main/resource/application_dev.yaml b/dsBase/src/main/resource/application_dev.yaml index 3c5889fc..038a01bc 100644 --- a/dsBase/src/main/resource/application_dev.yaml +++ b/dsBase/src/main/resource/application_dev.yaml @@ -1,3 +1,6 @@ +# 上传文件的临时路径 +uploadTempPath: c:/Windows/Temp + mysql: # 数据库信息 driverClassName: com.mysql.cj.jdbc.Driver diff --git a/dsBase/src/main/resource/application_pro.yaml b/dsBase/src/main/resource/application_pro.yaml index 495fca29..c70f6ba5 100644 --- a/dsBase/src/main/resource/application_pro.yaml +++ b/dsBase/src/main/resource/application_pro.yaml @@ -1,3 +1,6 @@ +# 上传文件的临时路径 +uploadTempPath: /tmp + mysql: # 数据库信息 driverClassName: com.mysql.cj.jdbc.Driver diff --git a/dsBase/target/classes/application_dev.yaml b/dsBase/target/classes/application_dev.yaml index 3c5889fc..038a01bc 100644 --- a/dsBase/target/classes/application_dev.yaml +++ b/dsBase/target/classes/application_dev.yaml @@ -1,3 +1,6 @@ +# 上传文件的临时路径 +uploadTempPath: c:/Windows/Temp + mysql: # 数据库信息 driverClassName: com.mysql.cj.jdbc.Driver diff --git a/dsBase/target/classes/application_pro.yaml b/dsBase/target/classes/application_pro.yaml index 495fca29..c70f6ba5 100644 --- a/dsBase/target/classes/application_pro.yaml +++ b/dsBase/target/classes/application_pro.yaml @@ -1,3 +1,6 @@ +# 上传文件的临时路径 +uploadTempPath: /tmp + mysql: # 数据库信息 driverClassName: com.mysql.cj.jdbc.Driver diff --git a/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java b/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java index 463a94a5..b939a945 100644 --- a/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java +++ b/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java @@ -124,12 +124,11 @@ public class RouterHandler extends Handler { isHandled[0] = true; //停止filter return; } - //路由到哪个微服务 String FORWARD_URL = GwApplication.routeList.get(prefix) + "/" + prefix + "/" + action; //1、如果是上传文件 - if (req.getContentType().startsWith("multipart/form-data")) { + if (req.getMethod().equals("POST") && req.getContentType() != null && req.getContentType().startsWith("multipart/form-data")) { // 指定文件类型 MediaType mediaType = MediaType.parse("multipart/form-data"); MultipartRequest mp = new MultipartRequest(req); @@ -142,18 +141,15 @@ public class RouterHandler extends Handler { isHandled[0] = true;//停止filter return; } - - - UploadFile fu = files.getFirst(); + UploadFile uploadFile = files.getFirst(); // 获取文件流 - RequestBody requestBody = RequestBody.create(fu.getFile(), mediaType); + RequestBody requestBody = RequestBody.create(uploadFile.getFile(), mediaType); // 构建MultipartBody MultipartBody body = new MultipartBody.Builder() .setType(MultipartBody.FORM) - .addFormDataPart("file", fu.getFileName(), requestBody) + .addFormDataPart("file", uploadFile.getFileName(), requestBody) .build(); - // 构建Request Request request = new Request.Builder() .url(FORWARD_URL) @@ -178,9 +174,16 @@ public class RouterHandler extends Handler { //参数:queryString Request request; if (queryString != null) { - request = new Request.Builder().url(FORWARD_URL + "?" + queryString).get().build(); + request = new Request.Builder().url(FORWARD_URL + "?" + queryString) + .addHeader("Authorization", req.getHeader("Authorization")) + .addHeader("Accept", "application/json;odata=verbose") + .get().build(); } else { - request = new Request.Builder().url(FORWARD_URL).get().build(); + request = new Request.Builder() + .url(FORWARD_URL) + .addHeader("Authorization", req.getHeader("Authorization")) + .addHeader("Accept", "application/json;odata=verbose") + .get().build(); } try { executeRequest(request, res); @@ -201,9 +204,15 @@ public class RouterHandler extends Handler { RequestBody body = createRequestBody(req); Request request; if (queryString != null) { - request = new Request.Builder().url(FORWARD_URL + "?" + queryString).post(body).build(); + request = new Request.Builder().url(FORWARD_URL + "?" + queryString) + .addHeader("Authorization", req.getHeader("Authorization")) + .addHeader("Accept", "application/json;odata=verbose") + .post(body).build(); } else { - request = new Request.Builder().url(FORWARD_URL).post(body).build(); + request = new Request.Builder().url(FORWARD_URL) + .addHeader("Authorization", req.getHeader("Authorization")) + .addHeader("Accept", "application/json;odata=verbose") + .post(body).build(); } try { executeRequest(request, res);