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); } } }