Commit d8e1cb4a authored by daniel's avatar daniel

fix(upload): 文件上传大小的限制bug修复

parent f95cb58c
......@@ -100,6 +100,8 @@ public class SpringCommonFilter implements Filter {
}
}
/**
* Use Spring Mvc principle that searching the best matching HandlerMethod(aka. Controller Method)
* 使用SpringMVC的查询Handler机制,查找合适的`HandlerMethod`
......
......@@ -2,20 +2,38 @@ package com.dlbridge.jadp.plugins.cmpt.web;
import com.neusoft.www.utils.web.Result;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.annotation.Order;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@ControllerAdvice
@Order(0)
@Log4j2
public class ExceptionController {
@Value("${spring.servlet.multipart.max-file-size}")
private String maxFileSize;
@ResponseBody
@ExceptionHandler(value = Exception.class)
public Result errorHandler(Exception ex) {
log.info("exception from groble excetioncontroller : "+ ex.getMessage(),ex);
public Result<?> errorHandler(Exception ex) {
log.info("exception from global exceptionController : "+ ex.getMessage(),ex);
return Result.fail().setMsg(ex.getMessage());
}
@ResponseBody
@ExceptionHandler(MaxUploadSizeExceededException.class)
public Result<?> handleMaxUploadSizeExceeded(MaxUploadSizeExceededException ex,
HttpServletResponse response) throws IOException {
log.error("文件上传大小超出限制: {}", ex.getMessage());
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
return Result.fail().setMsg("文件大小超出限制,最大允许: "+maxFileSize);
}
}
......@@ -6,22 +6,25 @@ spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.password=mysql_master_geexek_408
spring.datasource.username=mysql_master
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://rm-bp1xezgtx890ssl6rto.mysql.rds.aliyuncs.com:3306/gksite?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
spring.datasource.url=jdbc:mysql://rm-bp1xezgtx890ssl6rto.mysql.rds.aliyuncs.com:3306/gksite?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&&useSSL=false
mybatis.typeAliasesPackage=com.dlbridge.jadp.plugins
mybatis.mapperLocations=classpath:com/dlbridge/jadp/plugins/**/**.xml
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.jdbc-type-for-null=null
spring.profiles.active=dev
server.port=9802
spring.devtools.livereload.enabled=false
spring.devtools.restart.enabled=false
server.port=9090
charset_name=UTF-8
#\u8BBE\u7F6E\u73AF\u5883\u914D\u7F6E
#spring.profiles.active=dev
#http encoding
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
logging.file=./logs/gksite.log
logging.file=/Users/daniel/Desktop/daniel/2024sk/project/gk/logs/gksite.log
logging.file.max-size=10MB
#\u5173\u95ED\u542F\u52A8Logo
spring.main.banner-mode=off
......
......@@ -60,7 +60,7 @@ spring.redis.jedis.pool.min-idle=20
# ?????????????????????
spring.redis.jedis.pool.max-wait=2000ms
spring.servlet.multipart.max-file-size=10Mb
spring.servlet.multipart.max-file-size=30Mb
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-request-size=50Mb
spring.application.name=micro-gksite
......
......@@ -4,28 +4,28 @@ spring:
cloud:
nacos:
config:
server-addr: http://localhost:8848
server-addr: https://nacos.geexek.com
file-extension: properties
group: dev
namespace: 0c214852-53b7-44b0-b472-427013a29ebe
server-addr: http://localhost:8848
namespace: 187c2f4d-80c2-4a67-b4e5-319d5c9151d1
server-addr: https://nacos.geexek.com
discovery:
group: dev
namespace: 0c214852-53b7-44b0-b472-427013a29ebe
namespace: 187c2f4d-80c2-4a67-b4e5-319d5c9151d1
---
spring:
profiles: dev
cloud:
nacos:
config:
server-addr: http://localhost:8848
server-addr: https://nacos.geexek.com
file-extension: properties
group: dev
namespace: 0c214852-53b7-44b0-b472-427013a29ebe
server-addr: http://localhost:8848
namespace: 187c2f4d-80c2-4a67-b4e5-319d5c9151d1
server-addr: https://nacos.geexek.com
discovery:
group: dev
namespace: 0c214852-53b7-44b0-b472-427013a29ebe
namespace: 187c2f4d-80c2-4a67-b4e5-319d5c9151d1
---
spring:
profiles: test
......
......@@ -518,7 +518,8 @@
style="font-size: 16px;color: #ce3939;margin-top: 20px">
<span
style="font-size: 12px;display: inline-block;border-radius: 50%;height: 18px;width: 18px;background: #ce3939;color: white;text-align: center;">注</span>
<span style="display: inline">建议分辨<br>率710*242</span></span></label>
<span
style="display: inline">建议分辨<br>率710*242,最大上传大小5MB</span></span></label>
<div style="float: right;">
<div class="cover">
<span class="icon-cover"></span>
......
......@@ -648,6 +648,21 @@
layer.msg(res.msg, { icon: 2 });
}
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
beforeSend: () => {
layer.load()
},
......@@ -699,6 +714,21 @@
beforeSend: () => {
layer.load()
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
complete: () => {
setTimeout(() => {
layer.closeAll()
......
......@@ -936,7 +936,7 @@
return;
}
// 文档
if (file.type && !['.docx', '.xlsx', '.pptx'].includes(file.name.slice(file.name.lastIndexOf('.'))) && this.service.type == 5) {
if (file.type && !['.docx', '.pdf', '.xlsx', '.pptx'].includes(file.name.slice(file.name.lastIndexOf('.'))) && this.service.type == 5) {
layer.msg('请上传文档', { icon: 5 })
return;
}
......@@ -963,6 +963,21 @@
layer.msg(res.msg, { icon: 2 });
}
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
beforeSend: () => {
layer.load()
},
......@@ -1004,6 +1019,21 @@
layer.msg(res.msg, { icon: 2 });
}
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
beforeSend: () => {
layer.load()
},
......@@ -1044,6 +1074,21 @@
layer.error(res.msg)
}
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
beforeSend: () => {
layer.load()
},
......
......@@ -673,9 +673,24 @@
this.service.imgUrl = res.content
this.$forceUpdate()
} else {
layer.msg(res.msg, {icon: 2});
layer.msg(res.msg, { icon: 2 });
}
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
beforeSend: () => {
layer.load()
},
......
......@@ -81,9 +81,24 @@ function uploadFile(obj) {
$(template).find('.save').trigger('click');
$(template).find('.save').remove();
} else {
layer.msg(res.msg, {icon: 2});
layer.msg(res.msg, { icon: 2 });
}
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
beforeSend: () => {
layer.load()
},
......
......@@ -34,9 +34,24 @@ function changeImg(e) {
$(img).removeClass('add');
}, 500)
} else {
layer.msg(res.msg, {icon: 2});
layer.msg(res.msg, { icon: 2 });
}
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
beforeSend: () => {
layer.load()
},
......
......@@ -169,6 +169,21 @@ function changeLogoImg(imgDomNName, inputDomName, top, left, width, height) {
beforeSend: () => {
layer.load()
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
complete: () => {
setTimeout(() => {
layer.closeAll()
......
......@@ -249,6 +249,21 @@ function uploadFile(obj) {
beforeSend: () => {
layer.load()
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
complete: () => {
setTimeout(() => {
layer.closeAll()
......@@ -267,7 +282,7 @@ function uploadImageOrDocFile(obj) {
return;
}
// 文档
if (file.type && !['.docx', '.xlsx', '.pptx'].includes(file.name.slice(file.name.lastIndexOf('.'))) && openType == 5) {
if (file.type && !['.docx', '.xlsx', '.pdf', '.pptx'].includes(file.name.slice(file.name.lastIndexOf('.'))) && openType == 5) {
layer.msg('请上传文档', { icon: 5 })
return;
}
......@@ -300,6 +315,22 @@ function uploadImageOrDocFile(obj) {
beforeSend: () => {
layer.load()
},
error: function (jqXHR) {
// jqXHR.responseJSON 里通常是后端返回的 JSON
console.log(jqXHR)
let msg = '上传失败';
if (jqXHR.responseJSON && jqXHR.responseJSON.msg) {
msg = jqXHR.responseJSON.msg;
} else if (jqXHR.responseText) {
try {
let json = JSON.parse(jqXHR.responseText);
msg = json.msg || msg;
} catch (e) {
msg = jqXHR.responseText || msg;
}
}
layer.msg(msg, { icon: 2 });
},
complete: () => {
setTimeout(() => {
layer.closeAll()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment