mirror of
https://gitee.com/kekingcn/file-online-preview.git
synced 2026-03-14 21:23:47 +08:00
修复 url特殊符号无法下载或者输出问题 修复流接入方法 拼接字符导导致下载或者跨域错误问题
This commit is contained in:
@@ -437,11 +437,7 @@ public class FileHandlerService implements InitializingBean {
|
||||
type = FileType.typeFromFileName(fullFileName);
|
||||
suffix = KkFileUtils.suffixFromFileName(fullFileName);
|
||||
// 移除fullfilename参数
|
||||
if (url.indexOf("fullfilename=" + fullFileName + "&") > 0) {
|
||||
url = url.replace("fullfilename=" + fullFileName + "&", "");
|
||||
} else {
|
||||
url = url.replace("fullfilename=" + fullFileName, "");
|
||||
}
|
||||
url = WebUtils.clearFullfilenameParam(url);
|
||||
} else {
|
||||
originFileName = WebUtils.getFileNameFromURL(url);
|
||||
type = FileType.typeFromUrl(url);
|
||||
@@ -460,13 +456,14 @@ public class FileHandlerService implements InitializingBean {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
url = WebUtils.encodeUrlFileName(url);
|
||||
if (UrlEncoderUtils.hasUrlEncoded(originFileName)) { //判断文件名是否转义
|
||||
try {
|
||||
originFileName = URLDecoder.decode(originFileName, uriEncoding).replaceAll("\\+", "%20");
|
||||
originFileName = URLDecoder.decode(originFileName, uriEncoding); //转义的文件名 解下出原始文件名
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}else {
|
||||
url = WebUtils.encodeUrlFileName(url); //对未转义的url进行转义
|
||||
}
|
||||
originFileName = KkFileUtils.htmlEscape(originFileName); //文件名处理
|
||||
boolean isHtmlView = suffix.equalsIgnoreCase("xls") || suffix.equalsIgnoreCase("xlsx") || suffix.equalsIgnoreCase("csv") || suffix.equalsIgnoreCase("xlsm") || suffix.equalsIgnoreCase("xlt") || suffix.equalsIgnoreCase("xltm") || suffix.equalsIgnoreCase("et") || suffix.equalsIgnoreCase("ett") || suffix.equalsIgnoreCase("xlam");
|
||||
|
||||
Reference in New Issue
Block a user