package com.vci.plugins.controller;
|
|
import com.vci.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);
|
}
|
}
|
}
|