Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 50dd7c1b83 | |||
| 2dd067170b | |||
| e635ca86c5 | |||
| 8bd36e37a3 | |||
| b3b2f7c407 | |||
| f1ad3d44ff | |||
| ee6ff50244 | |||
| 196741d5dc | |||
| 374c06472f |
@ -71,7 +71,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.poi</groupId>
|
<groupId>org.apache.poi</groupId>
|
||||||
<artifactId>poi</artifactId>
|
<artifactId>poi</artifactId>
|
||||||
<version>3.12</version>
|
<version>3.17</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.poi</groupId>
|
<groupId>org.apache.poi</groupId>
|
||||||
|
|||||||
@ -35,7 +35,7 @@ public class CadFilePreviewImpl implements FilePreview {
|
|||||||
@Override
|
@Override
|
||||||
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
|
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
|
||||||
// 预览Type,参数传了就取参数的,没传取系统默认
|
// 预览Type,参数传了就取参数的,没传取系统默认
|
||||||
String officePreviewType = model.asMap().get("officePreviewType") == null ? ConfigConstants.getOfficePreviewType() : model.asMap().get("officePreviewType").toString();
|
String officePreviewType = fileAttribute.getOfficePreviewType() == null ? ConfigConstants.getOfficePreviewType() : fileAttribute.getOfficePreviewType();
|
||||||
String baseUrl = BaseUrlFilter.getBaseUrl();
|
String baseUrl = BaseUrlFilter.getBaseUrl();
|
||||||
String fileName = fileAttribute.getName();
|
String fileName = fileAttribute.getName();
|
||||||
String pdfName = fileName.substring(0, fileName.lastIndexOf(".") + 1) + "pdf";
|
String pdfName = fileName.substring(0, fileName.lastIndexOf(".") + 1) + "pdf";
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import cn.keking.config.ConfigConstants;
|
|||||||
import cn.keking.model.FileAttribute;
|
import cn.keking.model.FileAttribute;
|
||||||
import cn.keking.model.ReturnResponse;
|
import cn.keking.model.ReturnResponse;
|
||||||
import io.mola.galimatias.GalimatiasParseException;
|
import io.mola.galimatias.GalimatiasParseException;
|
||||||
import jodd.io.FileUtil;
|
|
||||||
import jodd.io.NetUtil;
|
import jodd.io.NetUtil;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|||||||
@ -15,7 +15,9 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import org.springframework.web.util.HtmlUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -36,6 +38,10 @@ public class FileController {
|
|||||||
// 获取文件名
|
// 获取文件名
|
||||||
String fileName = file.getOriginalFilename();
|
String fileName = file.getOriginalFilename();
|
||||||
//判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息
|
//判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息
|
||||||
|
|
||||||
|
// escaping dangerous characters to prevent XSS
|
||||||
|
fileName = HtmlUtils.htmlEscape(fileName, StandardCharsets.UTF_8.name());
|
||||||
|
|
||||||
// Check for Unix-style path
|
// Check for Unix-style path
|
||||||
int unixSep = fileName.lastIndexOf('/');
|
int unixSep = fileName.lastIndexOf('/');
|
||||||
// Check for Windows-style path
|
// Check for Windows-style path
|
||||||
|
|||||||
@ -25,6 +25,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -55,7 +56,7 @@ public class OnlinePreviewController {
|
|||||||
public String onlinePreview(String url, Model model, HttpServletRequest req) {
|
public String onlinePreview(String url, Model model, HttpServletRequest req) {
|
||||||
String fileUrl;
|
String fileUrl;
|
||||||
try {
|
try {
|
||||||
fileUrl = new String(Base64.decodeBase64(url));
|
fileUrl = new String(Base64.decodeBase64(url), StandardCharsets.UTF_8);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
String errorMsg = String.format(BASE64_DECODE_ERROR_MSG, "url");
|
String errorMsg = String.format(BASE64_DECODE_ERROR_MSG, "url");
|
||||||
return otherFilePreview.notSupportedFile(model, errorMsg);
|
return otherFilePreview.notSupportedFile(model, errorMsg);
|
||||||
|
|||||||
@ -32,7 +32,8 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<img src="images/sorry.jpg" />
|
<img src="images/sorry.jpg" />
|
||||||
<span>
|
<span>
|
||||||
该文件类型(${file.suffix})系统暂时不支持在线预览,<b>说明</b>:
|
该文件类型(${file.suffix?html})系统暂时不支持在线预览,<b>说明</b>:
|
||||||
|
|
||||||
<p style="color: red;">${msg}</p>
|
<p style="color: red;">${msg}</p>
|
||||||
有任何疑问,请加 <a href="https://jq.qq.com/?_wv=1027&k=5c0UAtu">官方QQ群:613025121</a> 咨询
|
有任何疑问,请加 <a href="https://jq.qq.com/?_wv=1027&k=5c0UAtu">官方QQ群:613025121</a> 咨询
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user