package com.qxueyou.scc.controller; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.servlet.http.HttpServletResponse; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import com.qxueyou.scc.base.model.FileMeta; import com.qxueyou.scc.base.model.Result; import com.qxueyou.scc.teach.res.service.IFileService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; /** * ÎļþÉÏ´«¿ØÖÆÆ÷ * * @author xiadehu */ @Api(tags="ÎļþÉÏ´«Í¨ÓýӿÚ") @Controller @RequestMapping(value = "/base/file") public class FileController { private final Logger log = LogManager.getLogger("FileController"); @Autowired IFileService fileService; /** * ͨÓÃÉÏ´«½Ó¿Ú * * @TODO : ĿǰȱÉÙ¶Ô ¸÷Ä£¿éÎļþ¸öÊý¡¢Îļþ¸ñʽ¡¢Îļþ´óСµÄÉÏ´«¿ØÖÆ,ͳһÔö¼ÓÔÚconfigFileModule±íÀïÃæ¼´¿ÉʵÏÖ 1 ͼƬ£» 2 Îĵµ 3 ÊÓÆµ 4 ÒôƵ * @param response * @return */ @ApiOperation(value="ͨÓÃÉÏ´«½Ó¿Ú", notes="ĿǰȱÉÙ¶Ô ¸÷Ä£¿éÎļþ¸öÊý¡¢Îļþ¸ñʽ¡¢Îļþ´óСµÄÉÏ´«¿ØÖÆ,ͳһÔö¼ÓÔÚconfigFileModule±íÀïÃæ¼´¿ÉʵÏÖ 1 ͼƬ£» 2 Îĵµ 3 ÊÓÆµ 4 ÒôƵ") @RequestMapping(value = "/upload", headers = "content-type=multipart/*", method = RequestMethod.POST) public @ResponseBody List doUpload(MultipartHttpServletRequest request, HttpServletResponse response) { // 2.Ñ­»·È¡µÃÎļþ Iterator itr = request.getFileNames(); MultipartFile mpf = null; List files = new ArrayList(2); FileMeta fileMeta = null; while (itr.hasNext()) { // 2.´ÓrequestÖÐÈ¡µÄÏÂÒ»¸ö MultipartFile mpf = request.getFile(itr.next()); // 2.2 ´´½¨Ò»¸öFileMeta fileMeta = new FileMeta(); try { Result uploadResult = fileService.doUpload(mpf.getInputStream(), mpf.getOriginalFilename()); fileMeta.setFileId(uploadResult.getDataT("fileId")); fileMeta.setPath(uploadResult.getDataT("path")); } catch (Exception e) { String desp = e.getMessage(); desp = desp.length() > 120 ? desp.substring(0, 120) : desp; log.error("ÉÏ´«Ä£¿é½âÎö³ö´í£º" + e); } fileMeta.setFileName(mpf.getOriginalFilename()); fileMeta.setFileSize(mpf.getSize() / 1024 + " Kb"); fileMeta.setFileType(mpf.getContentType()); // 2.4 add to files files.add(fileMeta); } return files; } }