Просмотр исходного кода

[小程序文件上传][修改]:小程序上传问题修复

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
76f5fc6ed2
12 измененных файлов: 45 добавлений и 45 удалений
  1. +1
    -0
      mallinkAdmin/src/main/java/com/iformall/utils/UrlCheck.java
  2. +0
    -5
      mallinkBApi/pom.xml
  3. +1
    -2
      mallinkBApi/src/main/java/com/iformall/BApplication.java
  4. +0
    -12
      mallinkBApi/src/main/java/com/iformall/config/WebMvcConfig.java
  5. +5
    -5
      mallinkBApi/src/main/java/com/iformall/controller/UploadController.java
  6. +6
    -1
      mallinkBApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java
  7. +13
    -0
      mallinkBApi/src/main/java/com/iformall/utils/UrlCheck.java
  8. +0
    -5
      mallinkCApi/pom.xml
  9. +1
    -2
      mallinkCApi/src/main/java/com/iformall/CApplication.java
  10. +0
    -12
      mallinkCApi/src/main/java/com/iformall/config/WebMvcConfig.java
  11. +5
    -1
      mallinkCApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java
  12. +13
    -0
      mallinkCApi/src/main/java/com/iformall/utils/UrlCheck.java

+ 1
- 0
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")


+ 0
- 5
mallinkBApi/pom.xml Просмотреть файл

@@ -22,11 +22,6 @@
<artifactId>mybatis-multi-tenancy</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
</dependencies>
<build>
<plugins>


+ 1
- 2
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


+ 0
- 12
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;
}
}

+ 5
- 5
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");


+ 6
- 1
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);


+ 13
- 0
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");
}

}

+ 0
- 5
mallinkCApi/pom.xml Просмотреть файл

@@ -22,11 +22,6 @@
<artifactId>mybatis-multi-tenancy</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
</dependencies>
<build>
<plugins>


+ 1
- 2
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


+ 0
- 12
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;
}
}

+ 5
- 1
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);


+ 13
- 0
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");
}

}

Загрузка…
Отмена
Сохранить