Ldc
2024-04-07 0652600959e5e3b5796fb6e8da129704ca95347a
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
package com.vci.plugins.controller;
 
import com.vci.file.constant.VciFileBtmTypeConstant;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.util.ControllerUtil;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.web.query.FileImageViewerQuery;
import com.vci.web.service.VciFileDownloadServiceI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
 
/**
 * 文件预览的控制器
 * @author weidy
 * @date 2021/3/11
 */
@RestController()
@RequestMapping("/imageViewerController")
public class ImageViewerController {
 
    /**
     * 文件下载服务
     */
    @Autowired
    private VciFileDownloadServiceI vciFileDownloadServiceI;
 
 
    /**
     * 下载图片文件
     * @param response 响应对象
     * @param imageViewerQuery 查询对象
     */
    @GetMapping("/downloadImage")
    public void downloadImage(HttpServletResponse response,FileImageViewerQuery imageViewerQuery){
        VciBaseUtil.alertNotNull(imageViewerQuery,"图片浏览类型");
        String filePath = null;
        if(VciFileBtmTypeConstant.FILE_OBJECT.equalsIgnoreCase(imageViewerQuery.getImageType())){
            filePath = vciFileDownloadServiceI.downloadFileByOid(imageViewerQuery.getFileOid());
        }else{
            filePath = vciFileDownloadServiceI.downloadFileByPath(imageViewerQuery.getFilePath());
        }
        try {
            ControllerUtil.writeFileToResponse(response,filePath);
        } catch (IOException e) {
            throw new VciBaseException(e.getMessage(),new String[0],e);
        }
    }
}