mirror of https://github.com/jeecgboot/jeecg-boot
上传中文文件名转为拼音、Long类型精度丢失问题 issues/I24KXI、达梦数据库兼容修改
parent
341830c5a0
commit
aec00d9ba2
|
@ -76,6 +76,12 @@
|
||||||
<version>${commons.version}</version>
|
<version>${commons.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- 拼音库 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.belerweb</groupId>
|
||||||
|
<artifactId>pinyin4j</artifactId>
|
||||||
|
<version>${pinyin4j.version}</version>
|
||||||
|
</dependency>
|
||||||
<!-- freemarker -->
|
<!-- freemarker -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package org.jeecg.common.util;
|
package org.jeecg.common.util;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.extra.pinyin.PinyinUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jeecg.common.constant.CommonConstant;
|
import org.jeecg.common.constant.CommonConstant;
|
||||||
import org.jeecg.common.constant.DataBaseConstant;
|
import org.jeecg.common.constant.DataBaseConstant;
|
||||||
|
@ -16,10 +18,15 @@ import java.io.InputStream;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.DatabaseMetaData;
|
import java.sql.DatabaseMetaData;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class CommonUtils {
|
public class CommonUtils {
|
||||||
|
|
||||||
|
//中文正则
|
||||||
|
private static Pattern ZHONGWEN_PATTERN = Pattern.compile("[\u4e00-\u9fa5]");
|
||||||
|
|
||||||
public static String uploadOnlineImage(byte[] data,String basePath,String bizPath,String uploadType){
|
public static String uploadOnlineImage(byte[] data,String basePath,String bizPath,String uploadType){
|
||||||
String dbPath = null;
|
String dbPath = null;
|
||||||
String fileName = "image" + Math.round(Math.random() * 100000000000L);
|
String fileName = "image" + Math.round(Math.random() * 100000000000L);
|
||||||
|
@ -68,9 +75,28 @@ public class CommonUtils {
|
||||||
}
|
}
|
||||||
//替换上传文件名字的特殊字符
|
//替换上传文件名字的特殊字符
|
||||||
fileName = fileName.replace("=","").replace(",","").replace("&","").replace("#", "");
|
fileName = fileName.replace("=","").replace(",","").replace("&","").replace("#", "");
|
||||||
|
//替换上传文件名字中的中文
|
||||||
|
if(ifContainChinese(fileName)){
|
||||||
|
fileName= PinyinUtil.getPinyin(fileName, StrUtil.EMPTY);
|
||||||
|
}
|
||||||
|
//替换上传文件名字中的空格
|
||||||
|
fileName=fileName.replaceAll("\\s","");
|
||||||
return fileName;
|
return fileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// java 判断字符串里是否包含中文字符
|
||||||
|
public static boolean ifContainChinese(String str) {
|
||||||
|
if(str.getBytes().length == str.length()){
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
Matcher m = ZHONGWEN_PATTERN.matcher(str);
|
||||||
|
if (m.find()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统一全局上传
|
* 统一全局上传
|
||||||
* @Return: java.lang.String
|
* @Return: java.lang.String
|
||||||
|
@ -129,7 +155,7 @@ public class CommonUtils {
|
||||||
String dbType = md.getDatabaseProductName().toLowerCase();
|
String dbType = md.getDatabaseProductName().toLowerCase();
|
||||||
if(dbType.indexOf("mysql")>=0) {
|
if(dbType.indexOf("mysql")>=0) {
|
||||||
DB_TYPE = DataBaseConstant.DB_TYPE_MYSQL;
|
DB_TYPE = DataBaseConstant.DB_TYPE_MYSQL;
|
||||||
}else if(dbType.indexOf("oracle")>=0) {
|
}else if(dbType.indexOf("oracle")>=0 ||dbType.indexOf("dm")>=0) {
|
||||||
DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE;
|
DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE;
|
||||||
}else if(dbType.indexOf("sqlserver")>=0||dbType.indexOf("sql server")>=0) {
|
}else if(dbType.indexOf("sqlserver")>=0||dbType.indexOf("sql server")>=0) {
|
||||||
DB_TYPE = DataBaseConstant.DB_TYPE_SQLSERVER;
|
DB_TYPE = DataBaseConstant.DB_TYPE_SQLSERVER;
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
package org.jeecg.config;
|
package org.jeecg.config;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.actuate.trace.http.InMemoryHttpTraceRepository;
|
import org.springframework.boot.actuate.trace.http.InMemoryHttpTraceRepository;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Conditional;
|
import org.springframework.context.annotation.Conditional;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.http.converter.HttpMessageConverter;
|
||||||
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
||||||
import org.springframework.web.cors.CorsConfiguration;
|
import org.springframework.web.cors.CorsConfiguration;
|
||||||
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
||||||
import org.springframework.web.filter.CorsFilter;
|
import org.springframework.web.filter.CorsFilter;
|
||||||
|
@ -12,6 +17,8 @@ import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
|
||||||
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spring Boot 2.0 解决跨域问题
|
* Spring Boot 2.0 解决跨域问题
|
||||||
*
|
*
|
||||||
|
@ -64,6 +71,22 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
|
||||||
return new CorsFilter(urlBasedCorsConfigurationSource);
|
return new CorsFilter(urlBasedCorsConfigurationSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加Long转json精度丢失是配置
|
||||||
|
* @Return: void
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
|
||||||
|
MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
SimpleModule simpleModule = new SimpleModule();
|
||||||
|
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
|
||||||
|
simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
|
||||||
|
objectMapper.registerModule(simpleModule);
|
||||||
|
jackson2HttpMessageConverter.setObjectMapper(objectMapper);
|
||||||
|
converters.add(jackson2HttpMessageConverter);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SpringBootAdmin的Httptrace不见了
|
* SpringBootAdmin的Httptrace不见了
|
||||||
* https://blog.csdn.net/u013810234/article/details/110097201
|
* https://blog.csdn.net/u013810234/article/details/110097201
|
||||||
|
@ -72,4 +95,5 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
|
||||||
public InMemoryHttpTraceRepository getInMemoryHttpTrace(){
|
public InMemoryHttpTraceRepository getInMemoryHttpTrace(){
|
||||||
return new InMemoryHttpTraceRepository();
|
return new InMemoryHttpTraceRepository();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
<justauth-spring-boot-starter.version>1.3.2</justauth-spring-boot-starter.version>
|
<justauth-spring-boot-starter.version>1.3.2</justauth-spring-boot-starter.version>
|
||||||
<dom4j.version>1.6.1</dom4j.version>
|
<dom4j.version>1.6.1</dom4j.version>
|
||||||
<qiniu-java-sdk.version>7.2.23</qiniu-java-sdk.version>
|
<qiniu-java-sdk.version>7.2.23</qiniu-java-sdk.version>
|
||||||
|
<pinyin4j.version>2.5.1</pinyin4j.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
|
Loading…
Reference in New Issue