Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xzksxtfw
Overview
Overview
Details
Activity
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
常超
xzksxtfw
Commits
c09a00b2
Commit
c09a00b2
authored
Jan 02, 2024
by
yangyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
题干上传图片提交
parent
093ad4a4
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
179 additions
and
5 deletions
+179
-5
src/main/java/com/exam/controller/ItemController.java
+3
-3
src/main/java/com/exam/controller/PaperController.java
+1
-1
src/main/java/com/exam/entity/PaperManage.java
+3
-0
src/main/java/com/exam/entity/PaperPhoto.java
+18
-0
src/main/java/com/exam/mapper/PaperPhotoMapper.java
+13
-0
src/main/java/com/exam/serviceimpl/PaperServiceImpl.java
+28
-1
src/main/java/com/exam/util/Base64Util.java
+113
-0
No files found.
src/main/java/com/exam/controller/ItemController.java
View file @
c09a00b2
...
...
@@ -49,7 +49,7 @@ public class ItemController {
return
ApiResultHandler
.
buildApiResult
(
400
,
"选择题数据库获取失败"
,
null
);
}
for
(
Integer
number
:
changeNumbers
)
{
PaperManage
paperManage
=
new
PaperManage
(
paperId
,
1
,
number
);
PaperManage
paperManage
=
new
PaperManage
(
paperId
,
1
,
number
,
null
);
int
index
=
paperService
.
add
(
paperManage
);
if
(
index
==
0
)
return
ApiResultHandler
.
buildApiResult
(
400
,
"选择题组卷保存失败"
,
null
);
...
...
@@ -60,7 +60,7 @@ public class ItemController {
if
(
fills
==
null
)
return
ApiResultHandler
.
buildApiResult
(
400
,
"填空题数据库获取失败"
,
null
);
for
(
Integer
fillNum
:
fills
)
{
PaperManage
paperManage
=
new
PaperManage
(
paperId
,
2
,
fillNum
);
PaperManage
paperManage
=
new
PaperManage
(
paperId
,
2
,
fillNum
,
null
);
int
index
=
paperService
.
add
(
paperManage
);
if
(
index
==
0
)
return
ApiResultHandler
.
buildApiResult
(
400
,
"填空题题组卷保存失败"
,
null
);
...
...
@@ -70,7 +70,7 @@ public class ItemController {
if
(
fills
==
null
)
return
ApiResultHandler
.
buildApiResult
(
400
,
"判断题数据库获取失败"
,
null
);
for
(
Integer
judge
:
judges
)
{
PaperManage
paperManage
=
new
PaperManage
(
paperId
,
3
,
judge
);
PaperManage
paperManage
=
new
PaperManage
(
paperId
,
3
,
judge
,
null
);
int
index
=
paperService
.
add
(
paperManage
);
if
(
index
==
0
)
return
ApiResultHandler
.
buildApiResult
(
400
,
"判断题题组卷保存失败"
,
null
);
...
...
src/main/java/com/exam/controller/PaperController.java
View file @
c09a00b2
...
...
@@ -46,7 +46,7 @@ public class PaperController {
}
@PostMapping
(
"/paperManage"
)
public
ApiResult
add
(
@RequestBody
PaperManage
paperManage
)
{
public
ApiResult
add
(
PaperManage
paperManage
)
{
int
res
=
paperService
.
add
(
paperManage
);
if
(
res
!=
0
)
{
return
ApiResultHandler
.
buildApiResult
(
200
,
"添加成功"
,
res
);
...
...
src/main/java/com/exam/entity/PaperManage.java
View file @
c09a00b2
...
...
@@ -3,6 +3,7 @@ package com.exam.entity;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.web.multipart.MultipartFile
;
@Data
@NoArgsConstructor
...
...
@@ -14,5 +15,6 @@ public class PaperManage {
private
Integer
questionId
;
private
MultipartFile
[]
files
;
// 照片二进制
}
\ No newline at end of file
src/main/java/com/exam/entity/PaperPhoto.java
0 → 100644
View file @
c09a00b2
package
com
.
exam
.
entity
;
import
lombok.Data
;
import
org.springframework.web.multipart.MultipartFile
;
@Data
public
class
PaperPhoto
{
private
Integer
paperId
;
private
Integer
questionType
;
private
Integer
questionId
;
private
String
img
;
}
\ No newline at end of file
src/main/java/com/exam/mapper/PaperPhotoMapper.java
0 → 100644
View file @
c09a00b2
package
com
.
exam
.
mapper
;
import
com.exam.entity.PaperPhoto
;
import
org.apache.ibatis.annotations.Insert
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
PaperPhotoMapper
{
@Insert
(
"insert into paper_photo(paperId,questionType,questionId,img) values "
+
"(#{paperId},#{questionType},#{questionId},#{img})"
)
int
add
(
PaperPhoto
paperManage
);
}
src/main/java/com/exam/serviceimpl/PaperServiceImpl.java
View file @
c09a00b2
...
...
@@ -3,11 +3,17 @@ package com.exam.serviceimpl;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.exam.entity.PaperManage
;
import
com.exam.entity.PaperPhoto
;
import
com.exam.mapper.PaperMapper
;
import
com.exam.mapper.PaperPhotoMapper
;
import
com.exam.service.PaperService
;
import
com.exam.util.Base64Util
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.util.List
;
@Service
...
...
@@ -15,6 +21,8 @@ public class PaperServiceImpl implements PaperService {
@Autowired
private
PaperMapper
paperMapper
;
@Autowired
private
PaperPhotoMapper
paperPhotoMapper
;
@Override
public
List
<
PaperManage
>
findAll
()
{
return
paperMapper
.
findAll
();
...
...
@@ -27,7 +35,26 @@ public class PaperServiceImpl implements PaperService {
@Override
public
int
add
(
PaperManage
paperManage
)
{
return
paperMapper
.
add
(
paperManage
);
int
add
=
paperMapper
.
add
(
paperManage
);
if
(
add
>
0
){
// 照片处理
if
(
paperManage
.
getFiles
()
!=
null
)
{
String
base64
=
""
;
for
(
MultipartFile
file
:
paperManage
.
getFiles
())
{
try
{
base64
=
"data:image/jpg;base64,"
+
Base64Util
.
getBase64
(
file
);
// 入照片库
PaperPhoto
paperPhoto
=
new
PaperPhoto
();
BeanUtils
.
copyProperties
(
paperManage
,
paperPhoto
);
paperPhoto
.
setImg
(
base64
);
paperPhotoMapper
.
add
(
paperPhoto
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
}
return
add
;
}
}
src/main/java/com/exam/util/Base64Util.java
0 → 100644
View file @
c09a00b2
package
com
.
exam
.
util
;
import
org.springframework.web.multipart.MultipartFile
;
import
sun.misc.BASE64Decoder
;
import
sun.misc.BASE64Encoder
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.UnsupportedEncodingException
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
java.util.Base64
;
/**
* Base64加密,解密
*/
public
class
Base64Util
{
/**
* 将 s 进行 BASE64 编码
*
* @return String
* @author lifq
* @date 2015-3-4 上午09:24:02
*/
public
static
String
encode
(
String
s
)
{
if
(
s
==
null
)
return
null
;
String
res
=
""
;
try
{
res
=
new
BASE64Encoder
().
encode
(
s
.
getBytes
(
"utf-8"
));
}
catch
(
UnsupportedEncodingException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
return
res
;
}
/**
* 将 BASE64 编码的字符串 s 进行解码
*
* @return String
* @author lifq
* @date 2015-3-4 上午09:24:26
*/
public
static
String
decode
(
String
s
)
{
if
(
s
==
null
)
return
null
;
BASE64Decoder
decoder
=
new
BASE64Decoder
();
try
{
byte
[]
b
=
decoder
.
decodeBuffer
(
s
);
return
new
String
(
b
,
"utf-8"
);
}
catch
(
Exception
e
)
{
return
null
;
}
}
/**
* 图片转成base64字符串
*/
public
static
String
getBase64
(
MultipartFile
imageFile
)
throws
IOException
{
BASE64Encoder
base64Encoder
=
new
BASE64Encoder
();
String
base64EncoderImg
=
base64Encoder
.
encode
(
imageFile
.
getBytes
());
return
base64EncoderImg
;
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
Base64Util
.
encode
(
"0"
));
System
.
out
.
println
(
Base64Util
.
decode
(
"MA=="
));
}
/**
* 将网络路径图片转为base64的格式
* @param requestUrl 请求网络路径
* @param photoType 响应的格式(png,jpg,ico等)
* @throws Exception
*/
public
static
String
getUrlImageToBase64
(
String
requestUrl
,
String
photoType
)
throws
Exception
{
ByteArrayOutputStream
data
=
new
ByteArrayOutputStream
();
try
{
// 创建URL
URL
url
=
new
URL
(
requestUrl
);
byte
[]
by
=
new
byte
[
1024
];
// 创建链接
HttpURLConnection
conn
=
(
HttpURLConnection
)
url
.
openConnection
();
conn
.
setRequestMethod
(
"GET"
);
conn
.
setConnectTimeout
(
5
*
1000
);
InputStream
is
=
conn
.
getInputStream
();
// 将内容读取内存中
int
len
=
-
1
;
while
((
len
=
is
.
read
(
by
))
!=
-
1
)
{
data
.
write
(
by
,
0
,
len
);
}
// 关闭流
is
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
// 对字节数组Base64编码
Base64
.
Encoder
encoder
=
Base64
.
getEncoder
();
return
"data:image/"
+
photoType
+
";base64,"
+
encoder
.
encodeToString
(
data
.
toByteArray
());
}
}
\ No newline at end of file
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