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