mirror of
https://gitee.com/durcframework/SOP.git
synced 2025-08-11 21:57:56 +08:00
支持文件上传
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
<dependency>
|
||||
<groupId>com.gitee.sop</groupId>
|
||||
<artifactId>sop-service-common</artifactId>
|
||||
<version>1.7.2-SNAPSHOT</version>
|
||||
<version>1.8.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
|
@@ -23,7 +23,7 @@
|
||||
<dependency>
|
||||
<groupId>com.gitee.sop</groupId>
|
||||
<artifactId>sop-service-common</artifactId>
|
||||
<version>1.7.2-SNAPSHOT</version>
|
||||
<version>1.8.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.gitee.sop</groupId>
|
||||
|
@@ -29,7 +29,7 @@
|
||||
<dependency>
|
||||
<groupId>com.gitee.sop</groupId>
|
||||
<artifactId>sop-service-common</artifactId>
|
||||
<version>1.7.2-SNAPSHOT</version>
|
||||
<version>1.8.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
|
@@ -20,7 +20,7 @@
|
||||
<dependency>
|
||||
<groupId>com.gitee.sop</groupId>
|
||||
<artifactId>sop-service-common</artifactId>
|
||||
<version>1.7.2-SNAPSHOT</version>
|
||||
<version>1.8.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<!-- eureka 服务发现 -->
|
||||
<dependency>
|
||||
|
@@ -23,7 +23,7 @@
|
||||
<dependency>
|
||||
<groupId>com.gitee.sop</groupId>
|
||||
<artifactId>sop-service-common</artifactId>
|
||||
<version>1.7.2-SNAPSHOT</version>
|
||||
<version>1.8.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.gitee.sop</groupId>
|
||||
|
@@ -0,0 +1,56 @@
|
||||
package com.gitee.sop.storyweb.controller;
|
||||
|
||||
import com.gitee.sop.servercommon.annotation.ApiMapping;
|
||||
import com.gitee.sop.storyweb.controller.param.FileUploadParam;
|
||||
import com.gitee.sop.storyweb.vo.FileUploadVO;
|
||||
import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 演示文件上传
|
||||
* @author tanghc
|
||||
*/
|
||||
@RestController
|
||||
public class FileUploadDemoController {
|
||||
|
||||
/**
|
||||
* 接收客户端上传的文件,然后把文件信息返回给客户端
|
||||
* @param param
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@ApiMapping(value = "demo.file.upload", ignoreValidate = true)
|
||||
public FileUploadVO file(FileUploadParam param, HttpServletRequest request) {
|
||||
System.out.println(param.getRemark());
|
||||
FileUploadVO vo = new FileUploadVO();
|
||||
//检查form中是否有enctype="multipart/form-data"
|
||||
if (ServletFileUpload.isMultipartContent(request)) {
|
||||
//将request变成多部分request
|
||||
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
|
||||
Map<String, MultipartFile> fileMap = multiRequest.getFileMap();
|
||||
fileMap.entrySet()
|
||||
.stream()
|
||||
.forEach(entry->{
|
||||
MultipartFile multipartFile = entry.getValue();
|
||||
try {
|
||||
String fileName = multipartFile.getOriginalFilename();
|
||||
long size = multipartFile.getSize();
|
||||
String fileContent = IOUtils.toString(multipartFile.getInputStream(), "UTF-8");
|
||||
FileUploadVO.FileMeta fileMeta = new FileUploadVO.FileMeta(fileName, size, fileContent);
|
||||
vo.getFiles().add(fileMeta);
|
||||
System.out.println(fileContent);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
package com.gitee.sop.storyweb.controller.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author tanghc
|
||||
*/
|
||||
@Data
|
||||
public class FileUploadParam {
|
||||
private String remark;
|
||||
}
|
@@ -0,0 +1,32 @@
|
||||
package com.gitee.sop.storyweb.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author tanghc
|
||||
*/
|
||||
@Data
|
||||
public class FileUploadVO {
|
||||
|
||||
private List<FileMeta> files = new ArrayList();
|
||||
|
||||
@Data
|
||||
public static class FileMeta {
|
||||
|
||||
public FileMeta(String filename, long size, String content) {
|
||||
this.filename = filename;
|
||||
this.size = size;
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
public FileMeta() {
|
||||
}
|
||||
|
||||
private String filename;
|
||||
private long size;
|
||||
private String content;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user