添加文件批量上传接口

This commit is contained in:
wangkang
2017-08-07 13:32:25 +08:00
parent ac6d2d4465
commit 83a17cdd39
2 changed files with 63 additions and 40 deletions
@@ -6,6 +6,7 @@
*/
package org.itkk.udf.file.web;
import org.apache.commons.collections4.CollectionUtils;
import org.itkk.udf.core.ApplicationConfig;
import org.itkk.udf.core.RestResponse;
import org.itkk.udf.core.domain.file.FileInfo;
@@ -22,6 +23,8 @@ import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
/**
* 描述 : FileController
@@ -54,6 +57,17 @@ public class FileController implements IFileController {
return new RestResponse<>(fileService.upload(pathCode, file));
}
@Override
public RestResponse<List<FileInfo>> batchUpload(String pathCode, List<MultipartFile> files) throws IOException {
List<FileInfo> infos = new ArrayList<>();
if (CollectionUtils.isNotEmpty(files)) {
for (MultipartFile file : files) {
infos.add(fileService.upload(pathCode, file));
}
}
return new RestResponse<>(infos);
}
@Override
public RestResponse<FileProperties> properties() {
return new RestResponse<>(fileProperties);
@@ -21,6 +21,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
* 描述 : IFileController
@@ -32,22 +33,6 @@ import java.io.IOException;
@RequestMapping(value = "/service/file")
public interface IFileController {
/**
* 描述 : 文件配置
*
* @return 文件配置
*/
@ApiOperation(value = "FILE_2", notes = "文件配置")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "rmsApplicationName", value = "rms应用名称",
required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsSign", value = "rms认证秘钥", required = true,
dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsServiceCode", value = "rms接口编号",
required = true, dataType = "string")})
@RequestMapping(value = "properties", method = RequestMethod.GET)
RestResponse<FileProperties> properties();
/**
* 描述 : 上传文件
*
@@ -58,19 +43,29 @@ public interface IFileController {
*/
@ApiOperation(value = "FILE_1", notes = "上传文件")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "rmsApplicationName", value = "rms应用名称",
required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsSign", value = "rms认证秘钥", required = true,
dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsServiceCode", value = "rms接口编号",
required = true, dataType = "string"),
@ApiImplicitParam(paramType = "form", name = "pathCode", value = "路径代码", required = true,
dataType = "string"),
@ApiImplicitParam(paramType = "form", name = "file", value = "文件", required = true,
dataType = "__file")})
@ApiImplicitParam(paramType = "header", name = "rmsApplicationName", value = "rms应用名称", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsSign", value = "rms认证秘钥", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsServiceCode", value = "rms接口编号", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "form", name = "pathCode", value = "路径代码", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "form", name = "file", value = "文件", required = true, dataType = "__file")
})
@RequestMapping(value = "upload", method = RequestMethod.POST)
RestResponse<FileInfo> upload(String pathCode, MultipartFile file) throws IOException;
/**
* 描述 : 文件配置
*
* @return 文件配置
*/
@ApiOperation(value = "FILE_2", notes = "文件配置")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "rmsApplicationName", value = "rms应用名称", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsSign", value = "rms认证秘钥", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsServiceCode", value = "rms接口编号", required = true, dataType = "string")
})
@RequestMapping(value = "properties", method = RequestMethod.GET)
RestResponse<FileProperties> properties();
/**
* 描述 : 通过文件ID访问文件
*
@@ -80,15 +75,12 @@ public interface IFileController {
*/
@ApiOperation(value = "FILE_3", notes = "通过文件ID访问文件")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "rmsApplicationName", value = "rms应用名称",
required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsSign", value = "rms认证秘钥", required = true,
dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsServiceCode", value = "rms接口编号",
required = true, dataType = "string")})
@ApiImplicitParam(paramType = "header", name = "rmsApplicationName", value = "rms应用名称", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsSign", value = "rms认证秘钥", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsServiceCode", value = "rms接口编号", required = true, dataType = "string")
})
@RequestMapping(value = "download", method = RequestMethod.POST)
void download(@RequestBody FileParam fileParam, HttpServletResponse response)
throws IOException;
void download(@RequestBody FileParam fileParam, HttpServletResponse response) throws IOException;
/**
* 描述 : 通过文件ID访问文件
@@ -99,13 +91,30 @@ public interface IFileController {
*/
@ApiOperation(value = "FILE_4", notes = "通过文件ID获得文件信息")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "rmsApplicationName", value = "rms应用名称",
required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsSign", value = "rms认证秘钥", required = true,
dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsServiceCode", value = "rms接口编号",
required = true, dataType = "string")})
@ApiImplicitParam(paramType = "header", name = "rmsApplicationName", value = "rms应用名称", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsSign", value = "rms认证秘钥", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsServiceCode", value = "rms接口编号", required = true, dataType = "string")
})
@RequestMapping(value = "info", method = RequestMethod.POST)
RestResponse<FileInfo> info(@RequestBody FileParam fileParam) throws IOException;
/**
* 描述 : 批量上传文件
*
* @param pathCode 路径代码
* @param files 文件清单
* @return 结果
* @throws IOException 异常
*/
@ApiOperation(value = "FILE_5", notes = "批量上传文件")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "rmsApplicationName", value = "rms应用名称", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsSign", value = "rms认证秘钥", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "header", name = "rmsServiceCode", value = "rms接口编号", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "form", name = "pathCode", value = "路径代码", required = true, dataType = "string"),
@ApiImplicitParam(paramType = "form", name = "files", value = "文件清单", required = true, allowMultiple = true, dataType = "__file")
})
@RequestMapping(value = "upload/batch", method = RequestMethod.POST)
RestResponse<List<FileInfo>> batchUpload(String pathCode, List<MultipartFile> files) throws IOException;
}