Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gk
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
micro_app
gk
Commits
7e5dfadf
Commit
7e5dfadf
authored
May 19, 2026
by
daniel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(upload): 上传文件校验
parent
14fe1379
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
21 deletions
+30
-21
CommonController.java
...va/com/dlbridge/jadp/plugins/common/CommonController.java
+30
-21
No files found.
src/main/java/com/dlbridge/jadp/plugins/common/CommonController.java
View file @
7e5dfadf
...
@@ -77,13 +77,13 @@ public class CommonController {
...
@@ -77,13 +77,13 @@ public class CommonController {
}
}
String
extension
=
originalFilename
.
substring
(
lastIndex
).
toLowerCase
();
String
extension
=
originalFilename
.
substring
(
lastIndex
).
toLowerCase
();
// 检查文件扩展名是否允许
// 检查文件扩展名是否允许
//
if (!ALLOWED_FILE_TYPES.containsKey(extension)) {
if
(!
ALLOWED_FILE_TYPES
.
containsKey
(
extension
))
{
//
return Result.fail().setMsg("不允许上传该文件类型,请检查文件");
return
Result
.
fail
().
setMsg
(
"不允许上传该文件类型,请检查文件"
);
//
}
}
//
//
检查文件魔数
// 检查文件魔数
//
if (!checkFileMagicNumber(file.getBytes(), extension)) {
if
(!
checkFileMagicNumber
(
file
.
getBytes
(),
extension
))
{
//
return Result.fail().setMsg("文件类型与扩展名不符,请检查文件");
return
Result
.
fail
().
setMsg
(
"文件类型与扩展名不符,请检查文件"
);
//
}
}
String
objectName
=
UUID
.
randomUUID
()
+
extension
;
String
objectName
=
UUID
.
randomUUID
()
+
extension
;
if
(!
Objects
.
equals
(
folder
,
""
))
{
if
(!
Objects
.
equals
(
folder
,
""
))
{
objectName
=
folder
+
"/"
+
cmptId
+
"/"
+
objectName
;
objectName
=
folder
+
"/"
+
cmptId
+
"/"
+
objectName
;
...
@@ -105,12 +105,17 @@ public class CommonController {
...
@@ -105,12 +105,17 @@ public class CommonController {
try
{
try
{
String
originalFilename
=
file
.
getOriginalFilename
();
String
originalFilename
=
file
.
getOriginalFilename
();
assert
originalFilename
!=
null
;
assert
originalFilename
!=
null
;
// 检查文件名中是否包含点号
int
lastIndex
=
originalFilename
.
lastIndexOf
(
"."
);
int
lastIndex
=
originalFilename
.
lastIndexOf
(
"."
);
if
(
lastIndex
==
-
1
)
{
if
(
lastIndex
==
-
1
)
{
// 如果没有后缀名,直接返回报错信息
return
Result
.
fail
().
setMsg
(
"上传的文件没有后缀名,请检查文件"
);
return
Result
.
fail
().
setMsg
(
"上传的文件没有后缀名,请检查文件"
);
}
}
String
extension
=
originalFilename
.
substring
(
lastIndex
).
toLowerCase
();
if
(!
ALLOWED_FILE_TYPES
.
containsKey
(
extension
))
{
return
Result
.
fail
().
setMsg
(
"不允许上传该文件类型,请检查文件"
);
}
if
(!
checkFileMagicNumber
(
file
.
getBytes
(),
extension
))
{
return
Result
.
fail
().
setMsg
(
"文件类型与扩展名不符,请检查文件"
);
}
String
objectName
=
fileName
;
String
objectName
=
fileName
;
if
(!
Objects
.
equals
(
folder
,
""
))
{
if
(!
Objects
.
equals
(
folder
,
""
))
{
objectName
=
folder
+
"/"
+
fileName
;
objectName
=
folder
+
"/"
+
fileName
;
...
@@ -128,24 +133,26 @@ public class CommonController {
...
@@ -128,24 +133,26 @@ public class CommonController {
@ApiOperation
(
value
=
"参赛声明上传"
)
@ApiOperation
(
value
=
"参赛声明上传"
)
public
Result
<?>
uploadClaimer
(
@RequestPart
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestParam
(
value
=
"gCmptId"
)
Integer
gCmptId
)
{
public
Result
<?>
uploadClaimer
(
@RequestPart
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestParam
(
value
=
"gCmptId"
)
Integer
gCmptId
)
{
try
{
try
{
// 检查文件大小是否超过1MB
long
maxFileSize
=
5
*
1024
*
1024
;
long
maxFileSize
=
5
*
1024
*
1024
;
// 1MB
if
(
file
.
getSize
()
>
maxFileSize
)
{
if
(
file
.
getSize
()
>
maxFileSize
)
{
return
Result
.
fail
().
setMsg
(
"上传文件大小不能超过5MB"
);
return
Result
.
fail
().
setMsg
(
"上传文件大小不能超过5MB"
);
}
}
String
originalFilename
=
file
.
getOriginalFilename
();
String
originalFilename
=
file
.
getOriginalFilename
();
if
(
originalFilename
==
null
||
originalFilename
.
isEmpty
())
{
if
(
originalFilename
==
null
||
originalFilename
.
isEmpty
())
{
return
Result
.
fail
().
setMsg
(
"文件名不能为空"
);
return
Result
.
fail
().
setMsg
(
"文件名不能为空"
);
}
}
assert
originalFilename
!=
null
;
assert
originalFilename
!=
null
;
// 检查文件名中是否包含点号
int
lastIndex
=
originalFilename
.
lastIndexOf
(
"."
);
int
lastIndex
=
originalFilename
.
lastIndexOf
(
"."
);
if
(
lastIndex
==
-
1
)
{
if
(
lastIndex
==
-
1
)
{
// 如果没有后缀名,直接返回报错信息
return
Result
.
fail
().
setMsg
(
"上传的文件没有后缀名,请检查文件"
);
return
Result
.
fail
().
setMsg
(
"上传的文件没有后缀名,请检查文件"
);
}
}
String
extension
=
originalFilename
.
substring
(
lastIndex
).
toLowerCase
();
if
(!
ALLOWED_FILE_TYPES
.
containsKey
(
extension
))
{
return
Result
.
fail
().
setMsg
(
"不允许上传该文件类型,请检查文件"
);
}
if
(!
checkFileMagicNumber
(
file
.
getBytes
(),
extension
))
{
return
Result
.
fail
().
setMsg
(
"文件类型与扩展名不符,请检查文件"
);
}
String
objectName
=
"micro/"
+
gCmptId
+
"_cmptId/mianze.png"
;
String
objectName
=
"micro/"
+
gCmptId
+
"_cmptId/mianze.png"
;
String
filePath
=
aliOssUtil
.
upload
(
file
.
getBytes
(),
objectName
);
String
filePath
=
aliOssUtil
.
upload
(
file
.
getBytes
(),
objectName
);
log
.
info
(
"文件上传名: {} 保存的文件名:{}"
,
originalFilename
,
filePath
);
log
.
info
(
"文件上传名: {} 保存的文件名:{}"
,
originalFilename
,
filePath
);
...
@@ -160,24 +167,26 @@ public class CommonController {
...
@@ -160,24 +167,26 @@ public class CommonController {
@ApiOperation
(
value
=
"选号背景上传"
)
@ApiOperation
(
value
=
"选号背景上传"
)
public
Result
<?>
uploadSelectMarkNoBg
(
@RequestPart
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestParam
(
value
=
"gCmptId"
)
Integer
gCmptId
,
@RequestParam
(
value
=
"roadId"
)
String
roadId
)
{
public
Result
<?>
uploadSelectMarkNoBg
(
@RequestPart
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestParam
(
value
=
"gCmptId"
)
Integer
gCmptId
,
@RequestParam
(
value
=
"roadId"
)
String
roadId
)
{
try
{
try
{
// 检查文件大小是否超过1MB
long
maxFileSize
=
5
*
1024
*
1024
;
long
maxFileSize
=
5
*
1024
*
1024
;
// 1MB
if
(
file
.
getSize
()
>
maxFileSize
)
{
if
(
file
.
getSize
()
>
maxFileSize
)
{
return
Result
.
fail
().
setMsg
(
"上传文件大小不能超过5MB"
);
return
Result
.
fail
().
setMsg
(
"上传文件大小不能超过5MB"
);
}
}
String
originalFilename
=
file
.
getOriginalFilename
();
String
originalFilename
=
file
.
getOriginalFilename
();
if
(
originalFilename
==
null
||
originalFilename
.
isEmpty
())
{
if
(
originalFilename
==
null
||
originalFilename
.
isEmpty
())
{
return
Result
.
fail
().
setMsg
(
"文件名不能为空"
);
return
Result
.
fail
().
setMsg
(
"文件名不能为空"
);
}
}
assert
originalFilename
!=
null
;
assert
originalFilename
!=
null
;
// 检查文件名中是否包含点号
int
lastIndex
=
originalFilename
.
lastIndexOf
(
"."
);
int
lastIndex
=
originalFilename
.
lastIndexOf
(
"."
);
if
(
lastIndex
==
-
1
)
{
if
(
lastIndex
==
-
1
)
{
// 如果没有后缀名,直接返回报错信息
return
Result
.
fail
().
setMsg
(
"上传的文件没有后缀名,请检查文件"
);
return
Result
.
fail
().
setMsg
(
"上传的文件没有后缀名,请检查文件"
);
}
}
String
extension
=
originalFilename
.
substring
(
lastIndex
).
toLowerCase
();
if
(!
ALLOWED_FILE_TYPES
.
containsKey
(
extension
))
{
return
Result
.
fail
().
setMsg
(
"不允许上传该文件类型,请检查文件"
);
}
if
(!
checkFileMagicNumber
(
file
.
getBytes
(),
extension
))
{
return
Result
.
fail
().
setMsg
(
"文件类型与扩展名不符,请检查文件"
);
}
String
objectName
=
"micro/"
+
gCmptId
+
"_cmptId/"
+
gCmptId
+
"_"
+
roadId
+
".png"
;
String
objectName
=
"micro/"
+
gCmptId
+
"_cmptId/"
+
gCmptId
+
"_"
+
roadId
+
".png"
;
String
filePath
=
aliOssUtil
.
upload
(
file
.
getBytes
(),
objectName
);
String
filePath
=
aliOssUtil
.
upload
(
file
.
getBytes
(),
objectName
);
log
.
info
(
"文件上传名: {} 保存的文件名:{}"
,
originalFilename
,
filePath
);
log
.
info
(
"文件上传名: {} 保存的文件名:{}"
,
originalFilename
,
filePath
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment