Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cocktail-party-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cocktail-party
cocktail-party-server
Commits
e62e8e37
提交
e62e8e37
authored
2月 25, 2022
作者:
RuoYi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
组件ImageUpload支持多图同时选择上传
上级
bb65cd19
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
81 行增加
和
12 行删除
+81
-12
CommonController.java
...ava/com/ruoyi/web/controller/common/CommonController.java
+50
-5
FileUtils.java
.../src/main/java/com/ruoyi/common/utils/file/FileUtils.java
+18
-0
ScheduleUtils.java
...tz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
+1
-4
index.vue
ruoyi-ui/src/components/ImageUpload/index.vue
+12
-3
没有找到文件。
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
浏览文件 @
e62e8e37
package
com
.
ruoyi
.
web
.
controller
.
common
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.slf4j.Logger
;
...
...
@@ -8,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.http.MediaType
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
com.ruoyi.common.config.RuoYiConfig
;
...
...
@@ -24,6 +27,7 @@ import com.ruoyi.framework.config.ServerConfig;
* @author ruoyi
*/
@RestController
@RequestMapping
(
"/common"
)
public
class
CommonController
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
CommonController
.
class
);
...
...
@@ -31,13 +35,15 @@ public class CommonController
@Autowired
private
ServerConfig
serverConfig
;
private
static
final
String
FILE_DELIMETER
=
","
;
/**
* 通用下载请求
*
* @param fileName 文件名称
* @param delete 是否删除
*/
@GetMapping
(
"
common
/download"
)
@GetMapping
(
"/download"
)
public
void
fileDownload
(
String
fileName
,
Boolean
delete
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
try
...
...
@@ -64,9 +70,9 @@ public class CommonController
}
/**
* 通用上传请求
* 通用上传请求
(单个)
*/
@PostMapping
(
"/
common/
upload"
)
@PostMapping
(
"/upload"
)
public
AjaxResult
uploadFile
(
MultipartFile
file
)
throws
Exception
{
try
...
...
@@ -77,8 +83,47 @@ public class CommonController
String
fileName
=
FileUploadUtils
.
upload
(
filePath
,
file
);
String
url
=
serverConfig
.
getUrl
()
+
fileName
;
AjaxResult
ajax
=
AjaxResult
.
success
();
ajax
.
put
(
"fileName"
,
fileName
);
ajax
.
put
(
"url"
,
url
);
ajax
.
put
(
"fileName"
,
fileName
);
ajax
.
put
(
"newFileName"
,
FileUtils
.
getName
(
fileName
));
ajax
.
put
(
"originalFilename"
,
file
.
getOriginalFilename
());
return
ajax
;
}
catch
(
Exception
e
)
{
return
AjaxResult
.
error
(
e
.
getMessage
());
}
}
/**
* 通用上传请求(多个)
*/
@PostMapping
(
"/uploads"
)
public
AjaxResult
uploadFiles
(
List
<
MultipartFile
>
files
)
throws
Exception
{
try
{
// 上传文件路径
String
filePath
=
RuoYiConfig
.
getUploadPath
();
List
<
String
>
urls
=
new
ArrayList
<
String
>();
List
<
String
>
fileNames
=
new
ArrayList
<
String
>();
List
<
String
>
newFileNames
=
new
ArrayList
<
String
>();
List
<
String
>
originalFilenames
=
new
ArrayList
<
String
>();
for
(
MultipartFile
file
:
files
)
{
// 上传并返回新文件名称
String
fileName
=
FileUploadUtils
.
upload
(
filePath
,
file
);
String
url
=
serverConfig
.
getUrl
()
+
fileName
;
urls
.
add
(
url
);
fileNames
.
add
(
fileName
);
newFileNames
.
add
(
FileUtils
.
getName
(
fileName
));
originalFilenames
.
add
(
file
.
getOriginalFilename
());
}
AjaxResult
ajax
=
AjaxResult
.
success
();
ajax
.
put
(
"urls"
,
StringUtils
.
join
(
urls
,
FILE_DELIMETER
));
ajax
.
put
(
"fileNames"
,
StringUtils
.
join
(
fileNames
,
FILE_DELIMETER
));
ajax
.
put
(
"newFileNames"
,
StringUtils
.
join
(
newFileNames
,
FILE_DELIMETER
));
ajax
.
put
(
"originalFilenames"
,
StringUtils
.
join
(
originalFilenames
,
FILE_DELIMETER
));
return
ajax
;
}
catch
(
Exception
e
)
...
...
@@ -90,7 +135,7 @@ public class CommonController
/**
* 本地资源通用下载
*/
@GetMapping
(
"/
common/
download/resource"
)
@GetMapping
(
"/download/resource"
)
public
void
resourceDownload
(
String
resource
,
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
浏览文件 @
e62e8e37
...
...
@@ -256,4 +256,22 @@ public class FileUtils
}
return
strFileExtendName
;
}
/**
* 获取名称
*
* @param fileName 路径名称
* @return 没有文件路径的名称
*/
public
static
String
getName
(
String
fileName
)
{
if
(
fileName
==
null
)
{
return
null
;
}
int
lastUnixPos
=
fileName
.
lastIndexOf
(
'/'
);
int
lastWindowsPos
=
fileName
.
lastIndexOf
(
'\\'
);
int
index
=
Math
.
max
(
lastUnixPos
,
lastWindowsPos
);
return
fileName
.
substring
(
index
+
1
);
}
}
ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
浏览文件 @
e62e8e37
...
...
@@ -125,10 +125,7 @@ public class ScheduleUtils
int
count
=
StringUtils
.
countMatches
(
packageName
,
"."
);
if
(
count
>
1
)
{
if
(!
StringUtils
.
containsAnyIgnoreCase
(
invokeTarget
,
Constants
.
JOB_WHITELIST_STR
))
{
return
false
;
}
return
StringUtils
.
containsAnyIgnoreCase
(
invokeTarget
,
Constants
.
JOB_WHITELIST_STR
);
}
return
true
;
}
...
...
ruoyi-ui/src/components/ImageUpload/index.vue
浏览文件 @
e62e8e37
<
template
>
<div
class=
"component-upload-image"
>
<el-upload
multiple
:action=
"uploadImgUrl"
list-type=
"picture-card"
:on-success=
"handleUploadSuccess"
...
...
@@ -70,6 +71,8 @@ export default {
},
data
()
{
return
{
number
:
0
,
uploadList
:
[],
dialogImageUrl
:
""
,
dialogVisible
:
false
,
hideUpload
:
false
,
...
...
@@ -124,9 +127,14 @@ export default {
},
// 上传成功回调
handleUploadSuccess
(
res
)
{
this
.
fileList
.
push
({
name
:
res
.
fileName
,
url
:
res
.
fileName
});
this
.
$emit
(
"input"
,
this
.
listToString
(
this
.
fileList
));
this
.
loading
.
close
();
this
.
uploadList
.
push
({
name
:
res
.
fileName
,
url
:
res
.
fileName
});
if
(
this
.
uploadList
.
length
===
this
.
number
)
{
this
.
fileList
=
this
.
fileList
.
concat
(
this
.
uploadList
);
this
.
uploadList
=
[];
this
.
number
=
0
;
this
.
$emit
(
"input"
,
this
.
listToString
(
this
.
fileList
));
this
.
loading
.
close
();
}
},
// 上传前loading加载
handleBeforeUpload
(
file
)
{
...
...
@@ -163,6 +171,7 @@ export default {
text
:
"上传中"
,
background
:
"rgba(0, 0, 0, 0.7)"
,
});
this
.
number
++
;
},
// 文件个数超出
handleExceed
()
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论