新增 drawio 绘图预览

This commit is contained in:
gaoxiongzaq
2023-04-20 16:14:42 +08:00
parent 83e20ac83c
commit 57a9dc78ab
104 changed files with 198774 additions and 1 deletions

View File

@ -31,7 +31,8 @@ public enum FileType {
SVG("svgFilePreviewImpl"),
Epub("epubFilePreviewImpl"),
BPMN("bpmnFilePreviewImpl"),
DCM("dcmFilePreviewImpl");
DCM("dcmFilePreviewImpl"),
DRAWUI("drawioFilePreviewImpl");
private static final String[] OFFICE_TYPES = {"docx", "wps", "doc", "docm", "xls", "xlsx", "csv" ,"xlsm", "ppt", "pptx", "vsd", "rtf", "odt", "wmf", "emf", "dps", "et", "ods", "ots", "tsv", "odp", "otp", "sxi", "ott", "vsdx", "fodt", "fods", "xltx","tga","psd","dotm","ett","xlt","xltm","wpt","dot","xlam","dotx","xla"};
private static final String[] PICTURE_TYPES = {"jpg", "jpeg", "png", "gif", "bmp", "ico", "jfif", "webp"};
@ -41,6 +42,7 @@ public enum FileType {
private static final String[] XMIND_TYPES = {"xmind"};
private static final String[] Epub_TYPES = {"epub"};
private static final String[] DCM_TYPES = {"dcm"};
private static final String[] DRAWUI_TYPES = {"drawio"};
private static final String[] TIFF_TYPES = {"tif", "tiff"};
private static final String[] OFD_TYPES = {"ofd"};
private static final String[] SVG_TYPES = {"svg"};
@ -100,6 +102,9 @@ public enum FileType {
for (String dcm : DCM_TYPES) {
FILE_TYPE_MAPPER.put(dcm, FileType.DCM);
}
for (String drawio : DRAWUI_TYPES) {
FILE_TYPE_MAPPER.put(drawio, FileType.DRAWUI);
}
FILE_TYPE_MAPPER.put("md", FileType.MARKDOWN);
FILE_TYPE_MAPPER.put("xml", FileType.XML);
FILE_TYPE_MAPPER.put("pdf", FileType.PDF);

View File

@ -30,6 +30,7 @@ public interface FilePreview {
String MARKDOWN_FILE_PREVIEW_PAGE = "markdown";
String BPMN_FILE_PREVIEW_PAGE = "bpmn";
String DCM_FILE_PREVIEW_PAGE = "dcm";
String DRAWUI_FILE_PREVIEW_PAGE = "drawio";
String NOT_SUPPORTED_FILE_PAGE = "fileNotSupported";
String filePreviewHandle(String url, Model model, FileAttribute fileAttribute);

View File

@ -0,0 +1,25 @@
package cn.keking.service.impl;
import cn.keking.model.FileAttribute;
import cn.keking.service.FilePreview;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
/**
* Drawio 文件处理
*/
@Service
public class DrawioFilePreviewImpl implements FilePreview {
private final CommonPreviewImpl commonPreview;
public DrawioFilePreviewImpl(CommonPreviewImpl commonPreview) {
this.commonPreview = commonPreview;
}
@Override
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
commonPreview.filePreviewHandle(url,model,fileAttribute);
return DRAWUI_FILE_PREVIEW_PAGE;
}
}