diff --git a/mallinkAdmin/src/main/java/com/iformall/utils/UrlCheck.java b/mallinkAdmin/src/main/java/com/iformall/utils/UrlCheck.java index 8eac9bf3c..7897bbcfc 100644 --- a/mallinkAdmin/src/main/java/com/iformall/utils/UrlCheck.java +++ b/mallinkAdmin/src/main/java/com/iformall/utils/UrlCheck.java @@ -7,6 +7,7 @@ public class UrlCheck { public static boolean checkUrl(String url) { return url.contains("awsFileUpload") + || url.contains("awsFilesUpload") || url.contains("cimgUpload") || url.contains("ueditor/exec") || url.contains("/wxCUserBasicInfo/importTemplate") diff --git a/mallinkBApi/pom.xml b/mallinkBApi/pom.xml index 0014f6ca3..a6c7c0588 100644 --- a/mallinkBApi/pom.xml +++ b/mallinkBApi/pom.xml @@ -22,11 +22,6 @@ mybatis-multi-tenancy 1.0 - - commons-fileupload - commons-fileupload - 1.3.3 - diff --git a/mallinkBApi/src/main/java/com/iformall/BApplication.java b/mallinkBApi/src/main/java/com/iformall/BApplication.java index 50460e994..8ab96db8a 100644 --- a/mallinkBApi/src/main/java/com/iformall/BApplication.java +++ b/mallinkBApi/src/main/java/com/iformall/BApplication.java @@ -5,7 +5,6 @@ import org.rocketmq.starter.annotation.EnableRocketMQ; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration; import org.springframework.context.annotation.Bean; import tk.mybatis.spring.annotation.MapperScan; @@ -13,7 +12,7 @@ import tk.mybatis.spring.annotation.MapperScan; * @author chenkx * @date 2017-12-26 */ -@SpringBootApplication(exclude = {MultipartAutoConfiguration.class}) +@SpringBootApplication @MapperScan(basePackages = {"com.iformall.mapper"}) @EnableEncryptableProperties @EnableRocketMQ diff --git a/mallinkBApi/src/main/java/com/iformall/config/WebMvcConfig.java b/mallinkBApi/src/main/java/com/iformall/config/WebMvcConfig.java index abe073f80..819f804b8 100644 --- a/mallinkBApi/src/main/java/com/iformall/config/WebMvcConfig.java +++ b/mallinkBApi/src/main/java/com/iformall/config/WebMvcConfig.java @@ -17,8 +17,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.method.support.HandlerMethodArgumentResolver; -import org.springframework.web.multipart.MultipartResolver; -import org.springframework.web.multipart.commons.CommonsMultipartResolver; import org.springframework.web.servlet.config.annotation.*; import java.math.BigDecimal; @@ -113,14 +111,4 @@ public class WebMvcConfig implements WebMvcConfigurer { registrationBean.setName("koalaSignFilter"); return registrationBean; } - - @Bean(name = "multipartResolver") - public MultipartResolver multipartResolver() { - CommonsMultipartResolver resolver = new CommonsMultipartResolver(); - resolver.setDefaultEncoding("UTF-8"); - resolver.setResolveLazily(true); // resolveLazily属性启用是为了推迟文件解析,以在在UploadAction中捕获文件大小异常   - // resolver.setMaxInMemorySize(40960);   - resolver.setMaxUploadSize(2*1024*1024);// 上传文件大小 5M 5*1024*1024   - return resolver; - } } \ No newline at end of file diff --git a/mallinkBApi/src/main/java/com/iformall/controller/UploadController.java b/mallinkBApi/src/main/java/com/iformall/controller/UploadController.java index 075586365..70cbff023 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/UploadController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/UploadController.java @@ -11,6 +11,7 @@ import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.CannedAccessControlList; import com.amazonaws.services.s3.model.ObjectMetadata; import com.amazonaws.services.s3.model.PutObjectRequest; +import com.iformall.annotation.AuthIgnore; import com.iformall.common.ResultData; import com.iformall.config.AwsProperty; import io.swagger.annotations.Api; @@ -24,9 +25,8 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import java.io.BufferedInputStream; -import java.io.FileOutputStream; -import java.io.IOException; +import javax.servlet.http.HttpServletRequest; +import java.io.*; import java.net.URL; import java.util.*; @@ -103,11 +103,11 @@ public class UploadController extends BaseController { /** * 上传文件 * - * @param multiReq + * @param * @return * @throws Exception */ - @PostMapping(value = "/awsFileUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data") + @PostMapping(value = "/awsFileUpload") @ApiOperation("上传文件") public ResultData awsfileUpload(@RequestParam("file") MultipartFile multiReq) { logger.info("[" + getIpAddr() + "] UploadController::awsfileUpload"); diff --git a/mallinkBApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java b/mallinkBApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java index 40f12f03b..ed6f301c9 100644 --- a/mallinkBApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java +++ b/mallinkBApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java @@ -1,5 +1,7 @@ package com.iformall.interceptor; +import com.iformall.utils.UrlCheck; + import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @@ -16,7 +18,10 @@ public class HttpServletRequestWrapperFilter implements Filter { ServletRequest requestWrapper = null; if (request instanceof HttpServletRequest) { - requestWrapper = new BodyReaderHttpServletRequestWrapper((HttpServletRequest) request); + String url = ((HttpServletRequest) request).getRequestURI(); + if (!UrlCheck.checkUrl(url)) { + requestWrapper = new BodyReaderHttpServletRequestWrapper((HttpServletRequest) request); + } } if (null == requestWrapper) { chain.doFilter(request, response); diff --git a/mallinkBApi/src/main/java/com/iformall/utils/UrlCheck.java b/mallinkBApi/src/main/java/com/iformall/utils/UrlCheck.java new file mode 100644 index 000000000..d2bece626 --- /dev/null +++ b/mallinkBApi/src/main/java/com/iformall/utils/UrlCheck.java @@ -0,0 +1,13 @@ +package com.iformall.utils; + +/** + * @author gongbiao + */ +public class UrlCheck { + + public static boolean checkUrl(String url) { + return url.contains("awsFileUpload") + || url.contains("awsFilesUpload"); + } + +} diff --git a/mallinkCApi/pom.xml b/mallinkCApi/pom.xml index 1dbbe6df0..647618dbc 100644 --- a/mallinkCApi/pom.xml +++ b/mallinkCApi/pom.xml @@ -22,11 +22,6 @@ mybatis-multi-tenancy 1.0 - - commons-fileupload - commons-fileupload - 1.3.3 - diff --git a/mallinkCApi/src/main/java/com/iformall/CApplication.java b/mallinkCApi/src/main/java/com/iformall/CApplication.java index 472ccc689..c3d60da7e 100644 --- a/mallinkCApi/src/main/java/com/iformall/CApplication.java +++ b/mallinkCApi/src/main/java/com/iformall/CApplication.java @@ -5,7 +5,6 @@ import org.rocketmq.starter.annotation.EnableRocketMQ; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration; import org.springframework.context.annotation.Bean; import tk.mybatis.spring.annotation.MapperScan; @@ -13,7 +12,7 @@ import tk.mybatis.spring.annotation.MapperScan; * @author chenkx * @date 2017-12-26 */ -@SpringBootApplication(exclude = {MultipartAutoConfiguration.class}) +@SpringBootApplication @MapperScan(basePackages = {"com.iformall.mapper"}) @EnableEncryptableProperties @EnableRocketMQ diff --git a/mallinkCApi/src/main/java/com/iformall/config/WebMvcConfig.java b/mallinkCApi/src/main/java/com/iformall/config/WebMvcConfig.java index d7fd8fa54..c4064057a 100644 --- a/mallinkCApi/src/main/java/com/iformall/config/WebMvcConfig.java +++ b/mallinkCApi/src/main/java/com/iformall/config/WebMvcConfig.java @@ -17,8 +17,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.method.support.HandlerMethodArgumentResolver; -import org.springframework.web.multipart.MultipartResolver; -import org.springframework.web.multipart.commons.CommonsMultipartResolver; import org.springframework.web.servlet.config.annotation.*; import java.math.BigDecimal; @@ -113,14 +111,4 @@ public class WebMvcConfig implements WebMvcConfigurer { registrationBean.setName("koalaSignFilter"); return registrationBean; } - - @Bean(name = "multipartResolver") - public MultipartResolver multipartResolver() { - CommonsMultipartResolver resolver = new CommonsMultipartResolver(); - resolver.setDefaultEncoding("UTF-8"); - resolver.setResolveLazily(true); // resolveLazily属性启用是为了推迟文件解析,以在在UploadAction中捕获文件大小异常   - // resolver.setMaxInMemorySize(40960);   - resolver.setMaxUploadSize(2*1024*1024);// 上传文件大小 5M 5*1024*1024   - return resolver; - } } \ No newline at end of file diff --git a/mallinkCApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java b/mallinkCApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java index e876c12a1..244517814 100644 --- a/mallinkCApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java +++ b/mallinkCApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java @@ -1,5 +1,6 @@ package com.iformall.interceptor; +import com.iformall.utils.UrlCheck; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -21,7 +22,10 @@ public class HttpServletRequestWrapperFilter implements Filter { long start = System.currentTimeMillis(); ServletRequest requestWrapper = null; if (request instanceof HttpServletRequest) { - requestWrapper = new BodyReaderHttpServletRequestWrapper((HttpServletRequest) request); + String url = ((HttpServletRequest) request).getRequestURI(); + if (!UrlCheck.checkUrl(url)) { + requestWrapper = new BodyReaderHttpServletRequestWrapper((HttpServletRequest) request); + } } if (null == requestWrapper) { chain.doFilter(request, response); diff --git a/mallinkCApi/src/main/java/com/iformall/utils/UrlCheck.java b/mallinkCApi/src/main/java/com/iformall/utils/UrlCheck.java new file mode 100644 index 000000000..d2bece626 --- /dev/null +++ b/mallinkCApi/src/main/java/com/iformall/utils/UrlCheck.java @@ -0,0 +1,13 @@ +package com.iformall.utils; + +/** + * @author gongbiao + */ +public class UrlCheck { + + public static boolean checkUrl(String url) { + return url.contains("awsFileUpload") + || url.contains("awsFilesUpload"); + } + +}