派生自 projectDept/qhighschool

胡仁荣
2022-10-31 fe7381d6e8ec1f427408de0297ac7f41533202f6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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<FileMeta> doUpload(MultipartHttpServletRequest request, HttpServletResponse response) {
 
        // 2.Ñ­»·È¡µÃÎļþ
        Iterator<String> itr = request.getFileNames();
        MultipartFile mpf = null;
        List<FileMeta> files = new ArrayList<FileMeta>(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;
    }
}