Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
E
EncryptedFileSystem
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhangshuang
EncryptedFileSystem
Commits
e29aa13e
提交
e29aa13e
authored
3月 25, 2020
作者:
zhangshuang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
swagger和批量上传
上级
43c378c0
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
167 行增加
和
42 行删除
+167
-42
ServerResponse.java
...n/java/com/zjty/efs/ftp/base/response/ServerResponse.java
+8
-0
FileDownLoadController.java
...a/com/zjty/efs/ftp/controller/FileDownLoadController.java
+3
-3
FileUploadController.java
...ava/com/zjty/efs/ftp/controller/FileUploadController.java
+12
-19
CheckChunkRequest.java
.../main/java/com/zjty/efs/ftp/entity/CheckChunkRequest.java
+18
-0
CheckChunkResponse.java
...main/java/com/zjty/efs/ftp/entity/CheckChunkResponse.java
+20
-0
MergeRequest.java
...p/src/main/java/com/zjty/efs/ftp/entity/MergeRequest.java
+20
-0
MergeResponse.java
.../src/main/java/com/zjty/efs/ftp/entity/MergeResponse.java
+8
-1
UploadRequest.java
.../src/main/java/com/zjty/efs/ftp/entity/UploadRequest.java
+21
-0
FileUploadService.java
...main/java/com/zjty/efs/ftp/service/FileUploadService.java
+7
-3
FileUploadServiceImpl.java
.../com/zjty/efs/ftp/service/impl/FileUploadServiceImpl.java
+50
-16
没有找到文件。
efs-ftp/src/main/java/com/zjty/efs/ftp/base/response/ServerResponse.java
浏览文件 @
e29aa13e
package
com
.
zjty
.
efs
.
ftp
.
base
.
response
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.zjty.efs.misc.config.AutoDocument
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
static
com
.
zjty
.
efs
.
ftp
.
base
.
response
.
ResponseCode
.*;
...
...
@@ -14,23 +17,28 @@ import static com.zjty.efs.ftp.base.response.ResponseCode.*;
*/
@SuppressWarnings
({
"WeakerAccess"
,
"unused"
})
@Getter
@AutoDocument
@ApiModel
(
value
=
"响应体"
,
description
=
"封装好的响应体"
)
public
class
ServerResponse
<
T
>
{
/**
* 错误码
*/
@JSONField
(
ordinal
=
1
)
@ApiModelProperty
(
value
=
"code"
,
notes
=
"响应码"
,
example
=
"200"
)
private
Integer
code
;
/**
* 提示信息
*/
@JSONField
(
ordinal
=
2
)
@ApiModelProperty
(
value
=
"msg"
,
notes
=
"返回响应信息"
,
example
=
"success"
)
private
String
msg
;
/**
* 具体的内容
*/
@JSONField
(
ordinal
=
3
)
@ApiModelProperty
(
value
=
"data"
,
notes
=
"实际返回数据"
,
example
=
"123"
)
private
T
data
;
/* 以下为返回成功响应结果的各类重载静态方法 */
...
...
efs-ftp/src/main/java/com/zjty/efs/ftp/controller/FileDownLoadController.java
浏览文件 @
e29aa13e
...
...
@@ -26,9 +26,9 @@ public class FileDownLoadController {
@GetMapping
(
"/download/{fileName}"
)
@ApiOperation
(
value
=
"文件下载"
,
notes
=
"通过文件名称下载文件"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"fileName"
,
value
=
"文件名称"
,
paramType
=
"
String
"
,
example
=
"1.zip"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"response"
,
value
=
"响应对象"
,
paramType
=
"
HttpServletResponse
"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"request"
,
value
=
"请求对象"
,
paramType
=
"
HttpServletRequest
"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"fileName"
,
value
=
"文件名称"
,
paramType
=
"
query
"
,
example
=
"1.zip"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"response"
,
value
=
"响应对象"
,
paramType
=
"
query
"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"request"
,
value
=
"请求对象"
,
paramType
=
"
query
"
,
required
=
true
),
})
public
void
fileDownLoad
(
@PathVariable
(
"fileName"
)
String
fileName
,
HttpServletResponse
response
,
HttpServletRequest
request
){
...
...
efs-ftp/src/main/java/com/zjty/efs/ftp/controller/FileUploadController.java
浏览文件 @
e29aa13e
package
com
.
zjty
.
efs
.
ftp
.
controller
;
import
com.zjty.efs.ftp.base.response.ServerResponse
;
import
com.zjty.efs.ftp.entity.MergeRequest
;
import
com.zjty.efs.ftp.entity.UploadRequest
;
import
com.zjty.efs.ftp.service.FileUploadService
;
import
com.zjty.efs.misc.config.AutoDocument
;
import
io.swagger.annotations.Api
;
...
...
@@ -12,6 +14,7 @@ import org.springframework.web.bind.annotation.*;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
@AutoDocument
@RestController
...
...
@@ -36,7 +39,7 @@ public class FileUploadController {
@ResponseBody
@ApiOperation
(
value
=
"文件检查"
,
notes
=
"检查文件存在与否"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"md5File"
,
value
=
"md5生成的文件名称"
,
paramType
=
"
String
"
,
required
=
true
)
@ApiImplicitParam
(
name
=
"md5File"
,
value
=
"md5生成的文件名称"
,
paramType
=
"
query
"
,
required
=
true
)
})
public
ServerResponse
checkFile
(
@RequestParam
(
value
=
"md5File"
)
String
md5File
)
{
return
fileUploadService
.
checkFile
(
md5File
);
...
...
@@ -50,8 +53,8 @@ public class FileUploadController {
@ResponseBody
@ApiOperation
(
value
=
"分片检查"
,
notes
=
"检查分片存不存在"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"md5File"
,
value
=
"md5生成的文件名称"
,
paramType
=
"
String
"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"chunk"
,
value
=
"分片名称"
,
paramType
=
"
Integer
"
,
required
=
true
)
@ApiImplicitParam
(
name
=
"md5File"
,
value
=
"md5生成的文件名称"
,
paramType
=
"
query
"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"chunk"
,
value
=
"分片名称"
,
paramType
=
"
query
"
,
required
=
true
)
})
public
ServerResponse
checkChunk
(
@RequestParam
(
value
=
"md5File"
)
String
md5File
,
@RequestParam
(
value
=
"chunk"
)
Integer
chunk
)
{
...
...
@@ -63,17 +66,12 @@ public class FileUploadController {
* 修改上传
*/
@PostMapping
(
"/upload"
)
@ResponseBody
@ApiOperation
(
value
=
"文件上传"
,
notes
=
"上传文件,支持断点续传"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"md5File"
,
value
=
"md5生成的文件名称"
,
paramType
=
"String"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"chunk"
,
value
=
"分片名称"
,
paramType
=
"Integer"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"file"
,
value
=
"文件"
,
paramType
=
"MultipartFile"
,
required
=
true
)
@ApiImplicitParam
(
name
=
"uploadRequests"
,
value
=
"上传文件的集合"
,
paramType
=
"query"
,
required
=
true
)
})
public
ServerResponse
upload
(
@RequestParam
(
value
=
"file"
)
MultipartFile
file
,
@RequestParam
(
value
=
"md5File"
)
String
md5File
,
@RequestParam
(
value
=
"chunk"
,
required
=
false
)
Integer
chunk
)
{
//第几片,从0开始
return
fileUploadService
.
upload
(
file
,
md5File
,
chunk
);
public
ServerResponse
upload
(
@RequestBody
List
<
UploadRequest
>
uploadRequests
)
{
//第几片,从0开始
return
fileUploadService
.
upload
(
uploadRequests
);
}
/**
...
...
@@ -81,17 +79,12 @@ public class FileUploadController {
* 合成分片
*/
@PostMapping
(
"/merge"
)
@ResponseBody
@ApiOperation
(
value
=
"合成分片"
,
notes
=
"合成所有分片"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"md5File"
,
value
=
"md5生成的文件名称"
,
paramType
=
"String"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"chunk"
,
value
=
"最后的分片名称"
,
paramType
=
"Integer"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"file"
,
value
=
"文件"
,
paramType
=
"MultipartFile"
,
required
=
true
)
@ApiImplicitParam
(
name
=
"mergeRequests"
,
value
=
"需要分片合成的集合"
,
paramType
=
"query"
,
required
=
true
)
})
public
ServerResponse
merge
(
@RequestParam
(
value
=
"chunks"
,
required
=
false
)
Integer
chunks
,
@RequestParam
(
value
=
"md5File"
)
String
md5File
,
@RequestParam
(
value
=
"name"
)
String
name
){
return
fileUploadService
.
merge
(
chunks
,
md5File
,
name
);
public
ServerResponse
merge
(
@RequestBody
List
<
MergeRequest
>
mergeRequests
){
return
fileUploadService
.
merge
(
mergeRequests
);
}
}
efs-ftp/src/main/java/com/zjty/efs/ftp/entity/CheckChunkRequest.java
0 → 100644
浏览文件 @
e29aa13e
package
com
.
zjty
.
efs
.
ftp
.
entity
;
import
com.zjty.efs.misc.config.AutoDocument
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@AutoDocument
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
CheckChunkRequest
{
@ApiModelProperty
(
value
=
"md5File"
,
notes
=
"md5生成的文件夹名称"
)
private
String
md5File
;
@ApiModelProperty
(
value
=
"chunk"
,
notes
=
"当前分片"
)
private
Integer
chunk
;
}
efs-ftp/src/main/java/com/zjty/efs/ftp/entity/CheckChunkResponse.java
0 → 100644
浏览文件 @
e29aa13e
package
com
.
zjty
.
efs
.
ftp
.
entity
;
import
com.zjty.efs.misc.config.AutoDocument
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@AutoDocument
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
CheckChunkResponse
{
@ApiModelProperty
(
value
=
"md5File"
,
notes
=
"md5生成的文件夹名称"
)
private
String
md5File
;
@ApiModelProperty
(
value
=
"chunk"
,
notes
=
"当前分片"
)
private
Integer
chunk
;
@ApiModelProperty
(
value
=
"exist"
,
notes
=
"是否存在 0-不存在 1-存在"
)
private
Integer
exist
;
}
efs-ftp/src/main/java/com/zjty/efs/ftp/entity/MergeRequest.java
0 → 100644
浏览文件 @
e29aa13e
package
com
.
zjty
.
efs
.
ftp
.
entity
;
import
com.zjty.efs.misc.config.AutoDocument
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@AutoDocument
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
MergeRequest
{
@ApiModelProperty
(
value
=
"name"
,
notes
=
"合成后的文件名称"
)
private
String
name
;
//文件
@ApiModelProperty
(
value
=
"md5File"
,
notes
=
"MD5生成的文件夹名称"
,
example
=
"fc44454f994403b01b40895f0a6535b5"
)
private
String
md5File
;
//md5文件
@ApiModelProperty
(
value
=
"chuck"
,
notes
=
"当前分片"
,
example
=
"1"
)
private
Integer
chuck
;
//分片
}
efs-ftp/src/main/java/com/zjty/efs/ftp/entity/
FileReturn
.java
→
efs-ftp/src/main/java/com/zjty/efs/ftp/entity/
MergeResponse
.java
浏览文件 @
e29aa13e
package
com
.
zjty
.
efs
.
ftp
.
entity
;
import
com.zjty.efs.misc.config.AutoDocument
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@AutoDocument
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
FileReturn
{
public
class
MergeResponse
{
@ApiModelProperty
(
value
=
"name"
,
notes
=
"上传文件名称"
,
example
=
"1.zip"
)
private
String
name
;
//上传文件的名称
@ApiModelProperty
(
value
=
"path"
,
notes
=
"上传文件服务器中存储地址"
,
example
=
"D://file/uploads/1.zip"
)
private
String
path
;
//上传文件的地址
@ApiModelProperty
(
value
=
"saveSuccess"
,
notes
=
"文件保存是否成功 0-失败 1-成功"
,
example
=
"1"
)
private
int
saveSuccess
;
//文件保存是否成功 0-失败 1-成功
}
efs-ftp/src/main/java/com/zjty/efs/ftp/entity/UploadRequest.java
0 → 100644
浏览文件 @
e29aa13e
package
com
.
zjty
.
efs
.
ftp
.
entity
;
import
com.zjty.efs.misc.config.AutoDocument
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.web.multipart.MultipartFile
;
@AutoDocument
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
UploadRequest
{
@ApiModelProperty
(
value
=
"multipartFile"
,
notes
=
"文件数据"
)
private
MultipartFile
multipartFile
;
//文件
@ApiModelProperty
(
value
=
"md5File"
,
notes
=
"MD5生成的文件夹名称"
,
example
=
"fc44454f994403b01b40895f0a6535b5"
)
private
String
md5File
;
//md5文件
@ApiModelProperty
(
value
=
"chuck"
,
notes
=
"当前分片"
,
example
=
"1"
)
private
Integer
chuck
;
//分片
}
efs-ftp/src/main/java/com/zjty/efs/ftp/service/FileUploadService.java
浏览文件 @
e29aa13e
...
...
@@ -2,9 +2,13 @@ package com.zjty.efs.ftp.service;
import
com.zjty.efs.ftp.base.response.ServerResponse
;
import
com.zjty.efs.ftp.entity.CheckChunkRequest
;
import
com.zjty.efs.ftp.entity.MergeRequest
;
import
com.zjty.efs.ftp.entity.UploadRequest
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
public
interface
FileUploadService
{
...
...
@@ -25,18 +29,18 @@ public interface FileUploadService {
* @author zs
* 检查分片存不存在
*/
ServerResponse
checkChunk
(
String
md5File
,
Integer
chunk
);
ServerResponse
checkChunk
(
List
<
CheckChunkRequest
>
checkChunkRequests
);
/**
* @author zs
* 修改上传
*/
ServerResponse
upload
(
MultipartFile
file
,
String
md5File
,
Integer
chunk
);
ServerResponse
upload
(
List
<
UploadRequest
>
uploadRequests
);
/**
* @author zs
* 合成分片
*/
ServerResponse
merge
(
Integer
chunks
,
String
md5File
,
String
name
);
ServerResponse
merge
(
List
<
MergeRequest
>
uploadRequests
);
}
efs-ftp/src/main/java/com/zjty/efs/ftp/service/impl/FileUploadServiceImpl.java
浏览文件 @
e29aa13e
package
com
.
zjty
.
efs
.
ftp
.
service
.
impl
;
import
com.zjty.efs.ftp.base.response.ServerResponse
;
import
com.zjty.efs.ftp.entity.
FileReturn
;
import
com.zjty.efs.ftp.entity.
*
;
import
com.zjty.efs.ftp.service.FileUploadService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -30,14 +30,14 @@ public class FileUploadServiceImpl implements FileUploadService {
@Override
public
ServerResponse
fileUpload
(
HttpServletRequest
request
)
{
List
<
MultipartFile
>
multipartFiles
=
((
MultipartHttpServletRequest
)
request
).
getFiles
(
"file"
);
List
<
FileReturn
>
fileReturns
=
new
ArrayList
<>();
List
<
MergeResponse
>
fileReturns
=
new
ArrayList
<>();
if
(
multipartFiles
!=
null
&&
multipartFiles
.
size
()
!=
0
){
for
(
MultipartFile
multipartFile:
multipartFiles
){
InputStream
is
=
null
;
BufferedInputStream
bis
=
null
;
FileOutputStream
fos
=
null
;
BufferedOutputStream
bos
=
null
;
FileReturn
fileReturn
=
new
FileReturn
();
MergeResponse
fileReturn
=
new
MergeResponse
();
String
sourceName
=
multipartFile
.
getOriginalFilename
();
String
suffix
=
sourceName
.
substring
(
sourceName
.
lastIndexOf
(
"."
));
String
fileName
=
UUID
.
randomUUID
().
toString
()
+
suffix
;
...
...
@@ -94,21 +94,35 @@ public class FileUploadServiceImpl implements FileUploadService {
}
@Override
public
ServerResponse
checkChunk
(
String
md5File
,
Integer
chunk
)
{
Boolean
exist
=
false
;
//String path = "D:/webuploader/"+md5File+"/";
public
ServerResponse
checkChunk
(
List
<
CheckChunkRequest
>
checkChunkRequests
)
{
List
<
CheckChunkResponse
>
chunkResponses
=
new
ArrayList
<>();
if
(
checkChunkRequests
!=
null
&&
checkChunkRequests
.
size
()
!=
0
){
for
(
CheckChunkRequest
chunkRequest:
checkChunkRequests
){
String
md5File
=
chunkRequest
.
getMd5File
();
Integer
chunk
=
chunkRequest
.
getChunk
();
CheckChunkResponse
chunkResponse
=
new
CheckChunkResponse
();
chunkResponse
.
setChunk
(
chunk
);
chunkResponse
.
setMd5File
(
md5File
);
Integer
exist
=
0
;
String
chunkPath
=
fileAddress
+
"/"
+
md5File
+
"/"
;
//分片存放目录
String
chunkName
=
chunk
+
".tmp"
;
//分片名
File
file
=
new
File
(
chunkPath
+
chunkName
);
if
(
file
.
exists
())
{
exist
=
true
;
exist
=
1
;
}
chunkResponse
.
setExist
(
exist
);
}
return
ServerResponse
.
success
(
exist
);
}
return
ServerResponse
.
success
(
chunkResponses
);
}
@Override
public
ServerResponse
upload
(
MultipartFile
file
,
String
md5File
,
Integer
chunk
)
{
//String path = "D:/webuploader/"+md5File+"/";
public
ServerResponse
upload
(
List
<
UploadRequest
>
uploadRequests
)
{
if
(
uploadRequests
!=
null
&&
uploadRequests
.
size
()
!=
0
){
for
(
UploadRequest
uploadRequest:
uploadRequests
){
String
md5File
=
uploadRequest
.
getMd5File
();
Integer
chunk
=
uploadRequest
.
getChuck
();
MultipartFile
file
=
uploadRequest
.
getMultipartFile
();
String
chunkPath
=
fileAddress
+
"/"
+
md5File
+
"/"
;
//分片存放目录
File
dirFile
=
new
File
(
chunkPath
);
if
(!
dirFile
.
exists
())
{
//目录不存在,创建目录
...
...
@@ -118,7 +132,7 @@ public class FileUploadServiceImpl implements FileUploadService {
if
(
chunk
==
null
)
{
//表示是小文件,还没有一片
chunkName
=
"0.tmp"
;
}
else
{
chunkName
=
chunk
+
".tmp"
;
chunkName
=
chunk
+
".tmp"
;
}
String
filePath
=
chunkPath
+
chunkName
;
File
saveFile
=
new
File
(
filePath
);
...
...
@@ -128,13 +142,25 @@ public class FileUploadServiceImpl implements FileUploadService {
}
file
.
transferTo
(
saveFile
);
//将文件保存
}
catch
(
IOException
e
)
{
return
ServerResponse
.
error
(
"false"
);
log
.
error
(
filePath
+
"文件没有保存"
);
}
}
}
return
ServerResponse
.
success
(
"true"
);
}
@Override
public
ServerResponse
merge
(
Integer
chunks
,
String
md5File
,
String
name
)
{
public
ServerResponse
merge
(
List
<
MergeRequest
>
uploadRequests
)
{
List
<
MergeResponse
>
fileReturns
=
new
ArrayList
<>();
if
(
uploadRequests
!=
null
&&
uploadRequests
.
size
()
!=
0
){
for
(
MergeRequest
mergeRequest:
uploadRequests
){
MergeResponse
fileReturn
=
new
MergeResponse
();
String
md5File
=
mergeRequest
.
getMd5File
();
Integer
chunks
=
mergeRequest
.
getChuck
();
String
name
=
mergeRequest
.
getName
();
fileReturn
.
setName
(
name
);
//放入文件名称
fileReturn
.
setPath
(
fileAddress
+
"/"
+
name
);
//文件存储地址
fileReturn
.
setSaveSuccess
(
1
);
//默认保存成功,如果失败,重新set为0
FileOutputStream
fileOutputStream
=
null
;
//合成后的文件
try
{
fileOutputStream
=
new
FileOutputStream
(
fileAddress
+
"/"
+
name
);
...
...
@@ -144,7 +170,7 @@ public class FileUploadServiceImpl implements FileUploadService {
try
{
byte
[]
buf
=
new
byte
[
1024
];
for
(
long
i
=
0
;
i
<
chunks
;
i
++)
{
String
chunkFile
=
i
+
".tmp"
;
String
chunkFile
=
i
+
".tmp"
;
File
file
=
new
File
(
fileAddress
+
"/"
+
md5File
+
"/"
+
chunkFile
);
InputStream
inputStream
=
new
FileInputStream
(
file
);
int
len
=
0
;
...
...
@@ -156,17 +182,25 @@ public class FileUploadServiceImpl implements FileUploadService {
//删除md5目录,及临时文件
deleteFile
(
new
File
(
fileAddress
+
"/"
+
md5File
));
}
catch
(
Exception
e
)
{
return
ServerResponse
.
error
(
"false"
);
fileReturn
.
setSaveSuccess
(
0
);
//保存失败
log
.
error
(
fileReturn
.
getPath
()
+
"文件保存失败"
);
}
finally
{
try
{
fileReturns
.
add
(
fileReturn
);
fileOutputStream
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
return
ServerResponse
.
success
(
"true"
);
}
}
return
ServerResponse
.
success
(
fileReturns
);
}
/**
* 删除文件夹下所有文件以及文件夹
* @param file
*/
public
static
void
deleteFile
(
File
file
){
//判断文件不为null或文件目录存在
if
(
file
==
null
||
!
file
.
exists
()){
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论