parent
ee0468d95b
commit
9e76f75f69
@ -0,0 +1,88 @@ |
|||||||
|
package com.hfkj.controller; |
||||||
|
|
||||||
|
import com.hfkj.common.utils.DateUtil; |
||||||
|
import com.hfkj.common.utils.ResponseMsgUtil; |
||||||
|
import com.hfkj.config.SysConfig; |
||||||
|
import com.hfkj.model.ResponseData; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
import org.springframework.web.multipart.MultipartFile; |
||||||
|
import org.springframework.web.multipart.MultipartHttpServletRequest; |
||||||
|
import org.springframework.web.multipart.commons.CommonsMultipartResolver; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import javax.servlet.http.HttpServletRequest; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
import java.io.File; |
||||||
|
import java.io.FileOutputStream; |
||||||
|
import java.util.*; |
||||||
|
|
||||||
|
@RestController |
||||||
|
@RequestMapping(value="/fileUpload") |
||||||
|
@Api(value="文件上传") |
||||||
|
public class FileUploadController { |
||||||
|
|
||||||
|
private static Logger log = LoggerFactory.getLogger(FileUploadController.class); |
||||||
|
|
||||||
|
@Resource |
||||||
|
private SysConfig sysConfig; |
||||||
|
|
||||||
|
@RequestMapping(value="/uploadfile",method = RequestMethod.POST) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "文件上传") |
||||||
|
public ResponseData uploadFile(@RequestParam(value = "files" , required = false) MultipartFile files, |
||||||
|
HttpServletRequest request, |
||||||
|
HttpServletResponse response) throws Exception { |
||||||
|
try { |
||||||
|
response.setHeader("Access-Control-Allow-Origin", "*"); |
||||||
|
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver( |
||||||
|
request.getSession().getServletContext()); |
||||||
|
// 判断 request 是否有文件上传,即多部分请求
|
||||||
|
List<String> fileNames = new ArrayList<String>(); |
||||||
|
if (multipartResolver.isMultipart(request)) { |
||||||
|
// 转换成多部分request
|
||||||
|
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; |
||||||
|
Iterator<String> iterator = multiRequest.getFileNames(); |
||||||
|
|
||||||
|
while (iterator.hasNext()) { |
||||||
|
MultipartFile file = multiRequest.getFile(iterator.next()); |
||||||
|
if (file != null) { |
||||||
|
FileOutputStream out = null; |
||||||
|
try { |
||||||
|
String fileType = file.getOriginalFilename() |
||||||
|
.substring(file.getOriginalFilename().lastIndexOf(".") + 1); |
||||||
|
String fileName = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf(".")) + System.currentTimeMillis() + "." + fileType; |
||||||
|
String childPath = DateUtil.date2String(new Date(), "yyyyMM"); |
||||||
|
String destDirName = sysConfig.getFileUrl() + File.separator + childPath; |
||||||
|
File dir = new File(destDirName); |
||||||
|
if (!dir.exists()) { |
||||||
|
dir.mkdirs(); |
||||||
|
} |
||||||
|
out = new FileOutputStream(destDirName + File.separator + fileName); |
||||||
|
out.write(file.getBytes()); |
||||||
|
out.flush(); |
||||||
|
fileNames.add(childPath + "/" + fileName); |
||||||
|
} catch (Exception e) { |
||||||
|
log.error(e.getMessage(), e); |
||||||
|
} finally { |
||||||
|
if (out != null) { |
||||||
|
out.close(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return ResponseMsgUtil.success(fileNames); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
log.error(e.getMessage(), e); |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue