|
@@ -29,10 +29,7 @@ import org.springframework.core.io.Resource;
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.ui.Model;
|
|
|
-import org.springframework.web.bind.annotation.GetMapping;
|
|
|
-import org.springframework.web.bind.annotation.PostMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
-import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
@@ -137,12 +134,26 @@ public class FileStorageController {
|
|
|
* 根据文件的类型,用不同的处理方式来预览文件
|
|
|
*/
|
|
|
@RequestMapping("/fileStorage/preview")
|
|
|
- public String previewTest(Long fileId, HttpServletResponse response, Model model) {
|
|
|
- FileStorage fileStorage = fileStorageService.get(fileId);
|
|
|
- if (null != fileStorage && StringUtil.isNotEmpty(fileStorage.getFileType())) {
|
|
|
- String fileType = fileStorage.getFileType();
|
|
|
- String fileName = fileStorage.getOriginalName().replace(",", "");
|
|
|
- String sourceFilePath = fileStorage.getAbsolutePath();
|
|
|
+ public String previewTest(Long fileId,Long resource, HttpServletResponse response, Model model) {
|
|
|
+ //C端文件
|
|
|
+ String fileType ;
|
|
|
+ String fileName ;
|
|
|
+ String sourceFilePath ;
|
|
|
+ String path ;
|
|
|
+ if(resource == 1){
|
|
|
+ FileStorageDO fileStorageDO = fileService.getById(fileId);
|
|
|
+ fileType = fileStorageDO.getType();
|
|
|
+ fileName = fileStorageDO.getOriginalName().replace(",", "");
|
|
|
+ sourceFilePath = fileStorageDO.getAbsolutePath();
|
|
|
+ path = fileStorageDO.getPath();
|
|
|
+ }else {
|
|
|
+ FileStorage fileStorage = fileStorageService.get(fileId);
|
|
|
+ fileType = fileStorage.getFileType();
|
|
|
+ fileName = fileStorage.getOriginalName().replace(",", "");
|
|
|
+ sourceFilePath = fileStorage.getAbsolutePath();
|
|
|
+ path = fileStorage.getPath();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(fileType) && StringUtils.isNotEmpty(fileName) && StringUtils.isNotEmpty(fileName) && StringUtils.isNotEmpty(path)) {
|
|
|
// 1、处理以及预览doc、docx、rtf文件。使用了openOffice转换成pdf
|
|
|
if (fileType.equalsIgnoreCase(".doc") || fileType.equalsIgnoreCase(".docx")
|
|
|
|| fileType.equalsIgnoreCase(".rtf") || fileType.equalsIgnoreCase(".wps")) {
|
|
@@ -164,17 +175,13 @@ public class FileStorageController {
|
|
|
htmlFile = replaceImgSrc(htmlFile);
|
|
|
previewHtmlFile(response, htmlFile);
|
|
|
} else if (fileType.equalsIgnoreCase(".pdf")) {
|
|
|
- File pdfFile = new File(fileStorage.getAbsolutePath());
|
|
|
+ File pdfFile = new File(sourceFilePath);
|
|
|
previewPdf(response, pdfFile, fileName, "original");
|
|
|
} else if (fileType.equalsIgnoreCase(".zip") || fileType.equalsIgnoreCase(".rar")) {
|
|
|
fileStorageService.downloadFile(fileId);
|
|
|
} else {
|
|
|
// 图片的预览
|
|
|
- String filePath = null;
|
|
|
- if (null != fileStorage) {
|
|
|
- filePath = fileStorage.getPath();
|
|
|
- }
|
|
|
- model.addAttribute("filePath", filePath);
|
|
|
+ model.addAttribute("filePath", path);
|
|
|
return PREFIX + "fileStoragePreview";
|
|
|
}
|
|
|
}
|