diff --git a/server/src/main/java/cn/keking/model/FileType.java b/server/src/main/java/cn/keking/model/FileType.java index 96f12c94..520995ec 100644 --- a/server/src/main/java/cn/keking/model/FileType.java +++ b/server/src/main/java/cn/keking/model/FileType.java @@ -31,7 +31,7 @@ public enum FileType { private static final String[] ARCHIVE_TYPES = {"rar", "zip", "jar", "7-zip", "tar", "gzip", "7z"}; private static final String[] TIFF_TYPES = {"tif", "tiff"}; private static final String[] SSIM_TEXT_TYPES = ConfigConstants.getSimText(); - private static final String[] CODES = {"java", "c", "php", "go", "python", "py", "js", "html", "ftl", "css", "lua", "sh", "rb", "h", "cpp", "cs", "aspx", "jsp"}; + private static final String[] CODES = {"java", "c", "php", "go", "python", "py", "js", "html", "ftl", "css", "lua", "sh", "rb", "yml", "json", "h", "cpp", "cs", "aspx", "jsp"}; private static final String[] MEDIA_TYPES = ConfigConstants.getMedia(); private static final Map FILE_TYPE_MAPPER = new HashMap<>(); diff --git a/server/src/main/java/cn/keking/service/impl/SimTextFilePreviewImpl.java b/server/src/main/java/cn/keking/service/impl/SimTextFilePreviewImpl.java index 2a2751cf..bf45c2a8 100644 --- a/server/src/main/java/cn/keking/service/impl/SimTextFilePreviewImpl.java +++ b/server/src/main/java/cn/keking/service/impl/SimTextFilePreviewImpl.java @@ -9,9 +9,11 @@ import jodd.io.FileUtil; import org.apache.commons.codec.binary.Base64; import org.springframework.stereotype.Service; import org.springframework.ui.Model; +import org.springframework.web.util.HtmlUtils; import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; /** * Created by kl on 2018/1/17. @@ -37,6 +39,7 @@ public class SimTextFilePreviewImpl implements FilePreview { File originFile = new File(response.getContent()); String charset = KkFileUtils.getFileEncode(originFile); String fileData = FileUtil.readString(originFile, charset); + fileData = HtmlUtils.htmlEscape(fileData, StandardCharsets.UTF_8.name()); model.addAttribute("textData", Base64.encodeBase64String(fileData.getBytes())); } catch (IOException e) { return otherFilePreview.notSupportedFile(model, fileAttribute, e.getLocalizedMessage());