Adjusting the home page (#442)

* Add workflow bpmn file preview support

* Adjusting the home page
pull/75/MERGE
kl 2023-03-14 14:54:40 +08:00 committed by GitHub
parent 4962b8b3ca
commit ca9eefb80b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 444 additions and 423 deletions

View File

@ -13,21 +13,23 @@ public class IndexController {
@GetMapping( "/index")
public String go2Index(){
return "index";
return "/main/index";
}
@GetMapping( "/record")
public String go2Record(){
return "record";
return "/main/record";
}
@GetMapping( "/comment")
public String go2Comment(){
return "comment";
@GetMapping( "/integrated")
public String go2Integrated(){
return "/main/integrated";
}
@GetMapping( "/")
public String root() {
return "redirect:/index";
return "redirect:/main/index";
}
}

View File

@ -1,94 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0"/>
<title>kkFileView</title>
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="css/viewer.min.css"/>
<link rel="stylesheet" href="css/loading.css"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
<link rel="stylesheet" href="css/theme.css"/>
<link rel="stylesheet" href="gitalk/gitalk.css"/>
<script type="text/javascript" src="js/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="js/jquery.form.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="gitalk/gitalk.min.js"></script>
</head>
<body>
<!-- Fixed navbar -->
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="https://kkview.cn" target='_blank'>kkFileView</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="./index"></a></li>
<li><a href="./record"></a></li>
<li class="active"><a href="./comment"></a></li>
</ul>
</div>
</div>
</nav>
<div class="container theme-showcase" role="main">
<#-- -->
<div class="page-header">
<h1></h1>
</div>
<div class="panel-body">
<div id="comments"></div>
</div>
</div>
<div class="loading_container">
<div class="spinner">
<div class="spinner-container container1">
<div class="circle1"></div>
<div class="circle2"></div>
<div class="circle3"></div>
<div class="circle4"></div>
</div>
<div class="spinner-container container2">
<div class="circle1"></div>
<div class="circle2"></div>
<div class="circle3"></div>
<div class="circle4"></div>
</div>
<div class="spinner-container container3">
<div class="circle1"></div>
<div class="circle2"></div>
<div class="circle3"></div>
<div class="circle4"></div>
</div>
</div>
</div>
<script>
$(function () {
var gitalk = new Gitalk({
clientID: '525d7f16e17aab08cef5',
clientSecret: 'd1154e3aee5c8f1cbdc918b5c97a4f4157e0bfd9',
repo: 'kkFileView',
owner: 'kekingcn',
admin: ['kekingcn,klboke,gitchenjh'],
language: 'zh-CN',
id: location.pathname,
distractionFreeMode: false
})
gitalk.render((document.getElementById('comments')))
});
</script>
</body>
</html>

View File

@ -18,7 +18,7 @@
<script type="text/javascript" src="bootstrap-table/bootstrap-table.min.js"></script>
<script type="text/javascript" src="js/base64.min.js"></script>
<style>
.alert{
.alert {
width: 50%;
}
</style>
@ -26,51 +26,62 @@
<body>
<!-- Fixed navbar -->
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<!-- Fixed navbar -->
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="https://kkview.cn" target='_blank'>kkFileView</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"
aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="https://kkview.cn" target='_blank'>kkFileView</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="./index"></a></li>
<li><a href="./record"></a></li>
<li><a href="./comment"></a></li>
</ul>
<ul class="nav navbar-nav">
<li class="active"><a href="./index"></a></li>
<li><a href="./integrated"></a></li>
<li><a href="./record"></a></li>
</ul>
</div>
</div>
</nav>
</div>
</nav>
<div class="container theme-showcase" role="main">
<#-- -->
<div class="page-header">
<h1></h1>
</div>
<div class="well">
<div style="font-size: 16px;">
docxexcelpptjpg
<p style="background-color: #2f332a;color: #cccccc;font-size: 14px;padding:10px;margin-top:10px;">
var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址 <br>
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(base64Encode(url)));
</p>
</div>
<div style="font-size: 16px;">
<p style="background-color: #2f332a;color: #cccccc;font-size: 14px;padding:10px;margin-top:10px;">
var fileUrl =url1+'|'+url2;//多url使用'|'字符隔开 <br>
window.open('http://127.0.0.1:8012/picturesPreview?urls='+encodeURIComponent(base64Encode(fileUrl)));
</p>
</div>
</div>
<#-- -->
<div class="panel panel-success">
<div class="container theme-showcase" role="main">
<#-- -->
<div class="page-header">
<h1></h1>
kk<a target='_blank' href="https://t.zsxq.com/09ZHSXbsQ">https://t.zsxq.com/09ZHSXbsQ</a>。
</div>
<div >
<ol>
<li> doc, docx, xls, xlsx, xlsm, ppt, pptx, csv, tsv, dotm, xlt, xltm, dot, dotx,xlam, xla Office </li>
<li> wps, dps, et, ett, wpt WPS Office </li>
<li> odt, ods, ots, odp, otp, six, ott, fodt, fods OpenOfficeLibreOffice </li>
<li> vsd, vsdx Visio </li>
<li> wmf, emf Windows </li>
<li> psd Photoshop </li>
<li> pdf ,ofd, rtf </li>
<li> xmind </li>
<li> bpmn </li>
<li> eml </li>
<li> epub </li>
<li> obj, 3ds, stl, ply, gltf, glb, off, 3dm, fbx, dae, wrl, 3mf, ifc, brep, step, iges, fcstd, bim 3D </li>
<li> dwg, dxf CAD </li>
<li> txt, xml(), md(), java, php, py, js, css </li>
<li> zip, rar, jar, tar, gzip, 7z </li>
<li> jpg, jpeg, png, gif, bmp, ico, jfif, webp </li>
<li> tif, tiff </li>
<li> tga </li>
<li> svg </li>
<li> mp3,wav,mp4,flv </li>
<li> avi,mov,rm,webm,ts,rm,mkv,mpeg,ogg,mpg,rmvb,wmv,3gp,ts,swf </li>
</ol>
</div>
<#-- -->
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title"></h3>
</div>
@ -89,7 +100,7 @@
<button id="previewByUrl" type="button" class="btn btn-success"></button>
</form>
</div>
</div>
</div>
<#-- -->
<div class="panel panel-success">
<div class="panel-heading">
@ -104,15 +115,16 @@
<button type="button" class="btn btn-default" id="fileSelectBtn" style="margin-bottom:8px">
<span class="glyphicon glyphicon-cloud-upload" aria-hidden="true"></span>
</button>
<input type="file" name="file" style="display: none" id="fileSelect" onchange="onFileSelected()"/>
<input type="file" name="file" style="display: none" id="fileSelect"
onchange="onFileSelected()"/>
<div class="alert alert-danger alert-dismissable hide" role="alert" id="postFileAlert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<strong></strong>
</div>
</div>
<button id="btnSubmit" type="button" class="btn btn-success"> </button>
</div>
<button id="btnSubmit" type="button" class="btn btn-success"> </button>
</form>
</div>
</#if>
@ -168,12 +180,12 @@
$(".loading_container").css("height", height).show();
}
function onFileSelected(){
function onFileSelected() {
var file = $("#fileSelect").val();
$("#fileName").text(file);
}
function checkUrl(url){
function checkUrl(url) {
//url= 协议://(ftp的登录信息)[IP|域名](:端口号)(/或?请求参数)
var strRegex = '^((https|http|ftp)://)'//(https或http或ftp)
+ '(([\\w_!~*\'()\\.&=+$%-]+: )?[\\w_!~*\'()\\.&=+$%-]+@)?' //ftp的user@ 可有可无
@ -186,7 +198,7 @@
+ '(:[0-9]{1,5})?' // 端口- :80 ,1-5位数字
+ '((/?)|' // url无参数结尾 - 斜杆或这没有
+ '(/[\\w_!~*\'()\\.;?:@&=+$,%#-]+)+/?)$';//请求参数结尾- 英文或数字和[]内的各种字符
var re = new RegExp(strRegex,'i');//i不区分大小写
var re = new RegExp(strRegex, 'i');//i不区分大小写
//将url做uri转码后再匹配解除请求参数中的中文和空字符影响
if (re.test(encodeURI(url))) {
return (true);
@ -215,39 +227,39 @@
return data;
});
$('#previewByUrl').on('click',function() {
$('#previewByUrl').on('click', function () {
var _url = $("#_url").val();
if (!checkUrl(_url)) {
$("#previewCheckAlert").addClass("show");
window.setTimeout(function(){
window.setTimeout(function () {
$("#previewCheckAlert").removeClass("show");
},3000);//显示的时间
}, 3000);//显示的时间
return false;
}
var b64Encoded = Base64.encode(_url);
window.open('${baseUrl}onlinePreview?url='+encodeURIComponent(b64Encoded));
window.open('${baseUrl}onlinePreview?url=' + encodeURIComponent(b64Encoded));
});
$('#fileSelectBtn').on('click',function() {
$('#fileSelectBtn').on('click', function () {
$('#fileSelect').click();
});
$("#btnSubmit").click(function () {
var _fileName = $("#fileName").text()
var index= _fileName.lastIndexOf(".");
var index = _fileName.lastIndexOf(".");
//获取后缀
var ext = _fileName.substr(index+1);
if (!ext || ext == "dll"|| ext == "exe"|| ext == "msi" ){
window.alert(ext+"不支持上传")
return ;
}
if(!_fileName){
var ext = _fileName.substr(index + 1);
if (!ext || ext == "dll" || ext == "exe" || ext == "msi") {
window.alert(ext + "不支持上传")
return;
}
if (!_fileName) {
$("#postFileAlert").addClass("show");
window.setTimeout(function(){
window.setTimeout(function () {
$("#postFileAlert").removeClass("show");
},3000);//显示的时间
}, 3000);//显示的时间
return;
}
showLoadingDiv();

View File

@ -0,0 +1,97 @@
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0"/>
<title></title>
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="css/viewer.min.css"/>
<link rel="stylesheet" href="css/loading.css"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
<link rel="stylesheet" href="bootstrap-table/bootstrap-table.min.css"/>
<link rel="stylesheet" href="css/theme.css"/>
<script type="text/javascript" src="js/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="js/jquery.form.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="bootstrap-table/bootstrap-table.min.js"></script>
<script type="text/javascript" src="js/base64.min.js"></script>
<style>
.alert {
width: 50%;
}
</style>
</head>
<body>
<!-- Fixed navbar -->
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"
aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="https://kkview.cn" target='_blank'>kkFileView</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="./index"></a></li>
<li class="active"><a href="./integrated"></a></li>
<li><a href="./record"></a></li>
</ul>
</div>
</div>
</nav>
<div class="container theme-showcase" role="main">
<#-- -->
<div class="page-header">
<h1></h1>
kkFileView kkFileView http://127.0.0.1:8012。
</div>
<div class="well">
<div style="font-size: 16px;">
http/https docxexcelpptjpg
<p style="background-color: #2f332a;color: #cccccc;font-size: 14px;padding:10px;margin-top:10px;">
var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址 <br>
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(base64Encode(url)));
</p>
</div>
<br>
<div style="font-size: 16px;">
http/https idcodeidcodeOutputStreamurlfullfilename=xxx.xxx
<p style="background-color: #2f332a;color: #cccccc;font-size: 14px;padding:10px;margin-top:10px;">
var originUrl = 'http://127.0.0.1:8080/filedownload?fileId=1'; //要预览文件的访问地址<br>
var previewUrl = originUrl + '&fullfilename=test.txt'<br>
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(previewUrl)));
</p>
</div>
<br>
<div style="font-size: 16px;">
ftp FTP url访url
<p style="background-color: #2f332a;color: #cccccc;font-size: 14px;padding:10px;margin-top:10px;">
var url = 'ftp://127.0.0.1/file/test.txt'; //要预览文件的访问地址<br>
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(url)));
</p>
</div>
<br>
<div style="font-size: 16px;">
ftp FTP 访 url
<p style="background-color: #2f332a;color: #cccccc;font-size: 14px;padding:10px;margin-top:10px;">
var originUrl = 'ftp://127.0.0.1/file/test.txt'; //要预览文件的访问地址<br>
var previewUrl = originUrl + '?ftp.username=xx&ftp.password=xx&ftp.control.encoding=xx';<br>
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(previewUrl)));
</p>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,265 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0"/>
<title>kkFileView</title>
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="css/viewer.min.css"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
<link rel="stylesheet" href="css/theme.css"/>
<script type="text/javascript" src="js/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="js/jquery.form.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
<!-- Fixed navbar -->
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"
aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="https://kkview.cn" target='_blank'>kkFileView</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="./index"></a></li>
<li><a href="./integrated"></a></li>
<li class="active"><a href="./record"></a></li>
</ul>
</div>
</div>
</nav>
<div class="container theme-showcase" role="main">
<#-- -->
<div class="page-header">
<h1></h1>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20221214v4.1.0 </h3>
</div>
<div class="panel-body">
<div>
1. @wsd7747 <br>
2. tiftifpdfjpgjpg线 @zhangzhen1979<br>
3. docker使 @yl-yue<br>
4. userToken @yl-yue<br>
5. wordpptexcel @yl-yue<br>
6. Linux & DockerLibreOffice 7.3<br>
7. OFDtifPPT<br>
8. & <br>
<br>
@yl-yue @wsd7747 @zhangzhen1979 @tomhusky @shenghuadun @kischn.sun
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">202176v4.0.0 </h3>
</div>
<div class="panel-body">
<div>
1. OpenOfficeLibreOfficeOffice<br>
2. 穿<br>
3. PPT使PDF<br>
4. PPT<br>
5. <br>
6. Office<br>
7. WindowsOffice(LibreOffice)<br>
8. Office
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">2021617v3.6.0</h3>
</div>
<div class="panel-body">
<div>
** ofd @gaoxingzaq@zhangxiaoxiao9527
**<br>
1. ofd ofd pdf <br>
2. ffmpeg rmrmvbflv <br>
3. pptpptx <br>
4. pdfboxxstreamcommon-io
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">2021128</h3>
</div>
<div class="panel-body">
<div>
** 2020 UI QQ Issue Bug
**<br>
1. galimatias,<br>
2. indexUI<br>
3. markdownUI<br>
4. XMLUI便<br>
5. simTxTUI<br>
6. UI<br>
7. apache-common-ioio<br>
8. XML<br>
9. url base64<br>
10. bug<br>
11. <br>
12. bug<br>
13. <br>
14. Base64Apache Commons-codebase64jdk<br>
15. HTMLbug<br>
16. dwgjpgpdf<br>
17. escaping of dangerous characters to prevent reflected xss<br>
18. &
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20201227</h3>
</div>
<div class="panel-body">
<div>
** 2020便issuepr
**<br>
1. ,N<br>
2. XMLXML<br>
3. markdownmd<br>
4. web serverjettyissue<a href="https://github.com/kekingcn/kkFileView/issues/168">#issues/168</a><br>
5. cpdetector<br>
6. urlbase64+urlencode<br>
7. office.preview.switch.disabledoffic<br>
8. Base64<br>
9. officepdf<br>
10. pdfboxjdkIDEA<br>
11. guavahutool<br>
12. Office5<br>
13. 线<br>
14. bug<br>
15. bug
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20200520</h3>
</div>
<div class="panel-body">
<div>
1. <br>
2. CAD<br>
3. base.url使nginx使context-path<br>
4. 便Docker使<br>
5. <br>
6. cron<br>
7. .md .java .py<br>
8. PDF<br>
9. maven .sh <br>
10. CDN便使<br>
11. Gitalk<br>
12. url<br>
13. addTask<br>
14. <br>
15. <a href="https://kkview.cn">https://kkview.cn</a><br>
16. Docker<a href="https://hub.docker.com/r/keking/kkfileview">https://hub.docker.com/r/keking/kkfileview</a>
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20190618</h3>
</div>
<div class="panel-body">
<div>
1. <br>
2. http/httpsurl<br>
3. FTP url<br>
4. Docker
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20190408</h3>
</div>
<div class="panel-body">
<div>
1. JDKREDIS(REDIS)<br>
2. ziptar.gz
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20180119</h3>
</div>
<div class="panel-body">
<div>
1. <br>
2. addTask<br>
3. rediskkFIleView
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20180115</h3>
</div>
<div class="panel-body">
<div>
1.
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20180112</h3>
</div>
<div class="panel-body">
<div>
1. <br>
2.
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20180102</h3>
</div>
<div class="panel-body">
<div>
1. txt<br>
2. <br>
3. spring boot profile<br>
4. pdf.jsdocdocpdf
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20171212</h3>
</div>
<div class="panel-body">
<div>
1. gitee:<a href="https://gitee.com/kekingcn/file-online-preview" target="_blank">https://gitee.com/kekingcn/file-online-preview</a><br>
2. github:<a href="https://github.com/kekingcn/kkFileView" target="_blank">https://github.com/kekingcn/kkFileView</a>
</div>
</div>
</div>
</div>
<script>
</script>
</body>
</html>

View File

@ -1,261 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0"/>
<title>kkFileView</title>
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="css/viewer.min.css"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
<link rel="stylesheet" href="css/theme.css"/>
<script type="text/javascript" src="js/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="js/jquery.form.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
<!-- Fixed navbar -->
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="https://kkview.cn" target='_blank'>kkFileView</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="./index"></a></li>
<li class="active"><a href="./record"></a></li>
<li><a href="./comment"></a></li>
</ul>
</div>
</div>
</nav>
<div class="container theme-showcase" role="main">
<#-- -->
<div class="page-header">
<h1></h1>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20221214v4.1.0 </h3>
</div>
<div class="panel-body">
<div>
1. @wsd7747 <br>
2. tiftifpdfjpgjpg线 @zhangzhen1979<br>
3. docker使 @yl-yue<br>
4. userToken @yl-yue<br>
5. wordpptexcel @yl-yue<br>
6. Linux & DockerLibreOffice 7.3<br>
7. OFDtifPPT<br>
8. & <br>
<br>
@yl-yue @wsd7747 @zhangzhen1979 @tomhusky @shenghuadun @kischn.sun
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">202176v4.0.0 </h3>
</div>
<div class="panel-body">
<div>
1. OpenOfficeLibreOfficeOffice<br>
2. 穿<br>
3. PPT使PDF<br>
4. PPT<br>
5. <br>
6. Office<br>
7. WindowsOffice(LibreOffice)<br>
8. Office
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">2021617v3.6.0</h3>
</div>
<div class="panel-body">
<div>
** ofd @gaoxingzaq@zhangxiaoxiao9527 **<br>
1. ofd ofd pdf <br>
2. ffmpeg rmrmvbflv <br>
3. pptpptx <br>
4. pdfboxxstreamcommon-io
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">2021128</h3>
</div>
<div class="panel-body">
<div>
** 2020 UI QQ Issue Bug **<br>
1. galimatias,<br>
2. indexUI<br>
3. markdownUI<br>
4. XMLUI便<br>
5. simTxTUI<br>
6. UI<br>
7. apache-common-ioio<br>
8. XML<br>
9. url base64<br>
10. bug<br>
11. <br>
12. bug<br>
13. <br>
14. Base64Apache Commons-codebase64jdk<br>
15. HTMLbug<br>
16. dwgjpgpdf<br>
17. escaping of dangerous characters to prevent reflected xss<br>
18. &
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20201227</h3>
</div>
<div class="panel-body">
<div>
** 2020便issuepr **<br>
1. ,N<br>
2. XMLXML<br>
3. markdownmd<br>
4. web serverjettyissue<a href="https://github.com/kekingcn/kkFileView/issues/168">#issues/168</a><br>
5. cpdetector<br>
6. urlbase64+urlencode<br>
7. office.preview.switch.disabledoffic<br>
8. Base64<br>
9. officepdf<br>
10. pdfboxjdkIDEA<br>
11. guavahutool<br>
12. Office5<br>
13. 线<br>
14. bug<br>
15. bug
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20200520</h3>
</div>
<div class="panel-body">
<div>
1. <br>
2. CAD<br>
3. base.url使nginx使context-path<br>
4. 便Docker使<br>
5. <br>
6. cron<br>
7. .md .java .py<br>
8. PDF<br>
9. maven .sh <br>
10. CDN便使<br>
11. Gitalk<br>
12. url<br>
13. addTask<br>
14. <br>
15. <a href="https://kkview.cn">https://kkview.cn</a><br>
16. Docker<a href="https://hub.docker.com/r/keking/kkfileview">https://hub.docker.com/r/keking/kkfileview</a>
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20190618</h3>
</div>
<div class="panel-body">
<div>
1. <br>
2. http/httpsurl<br>
3. FTP url<br>
4. Docker
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20190408</h3>
</div>
<div class="panel-body">
<div>
1. JDKREDIS(REDIS)<br>
2. ziptar.gz
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20180119</h3>
</div>
<div class="panel-body">
<div>
1. <br>
2. addTask<br>
3. rediskkFIleView
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20180115</h3>
</div>
<div class="panel-body">
<div>
1.
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20180112</h3>
</div>
<div class="panel-body">
<div>
1. <br>
2.
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20180102</h3>
</div>
<div class="panel-body">
<div>
1. txt<br>
2. <br>
3. spring boot profile<br>
4. pdf.jsdocdocpdf
</div>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">20171212</h3>
</div>
<div class="panel-body">
<div>
1. gitee:<a href="https://gitee.com/kekingcn/file-online-preview" target="_blank">https://gitee.com/kekingcn/file-online-preview</a><br>
2. github:<a href="https://github.com/kekingcn/kkFileView" target="_blank">https://github.com/kekingcn/kkFileView</a>
</div>
</div>
</div>
</div>
<script>
</script>
</body>
</html>