Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
青阳龙野
kiftd
提交
e0df2130
kiftd
项目概览
青阳龙野
/
kiftd
通知
1242
Star
27
Fork
21
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
6
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
kiftd
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
6
Issue
6
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e0df2130
编写于
3月 29, 2018
作者:
青阳龙野
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
【重大更新v1.0.1】调整了打包下载功能的提示窗口
上级
7a8a4c88
变更
23
隐藏空白更改
内联
并排
Showing
23 changed file
with
130 addition
and
30 deletion
+130
-30
README.md
README.md
+3
-0
webapps/ROOT/.DS_Store
webapps/ROOT/.DS_Store
+0
-0
webapps/ROOT/META-INF/maven/kohgylw/KohgylwIFT/pom.properties
...pps/ROOT/META-INF/maven/kohgylw/KohgylwIFT/pom.properties
+1
-1
webapps/ROOT/META-INF/maven/kohgylw/KohgylwIFT/pom.xml
webapps/ROOT/META-INF/maven/kohgylw/KohgylwIFT/pom.xml
+10
-1
webapps/ROOT/WEB-INF/classes/kohgylw/controller/HomeController.class
...T/WEB-INF/classes/kohgylw/controller/HomeController.class
+0
-0
webapps/ROOT/WEB-INF/classes/kohgylw/listener/SCListener.class
...ps/ROOT/WEB-INF/classes/kohgylw/listener/SCListener.class
+0
-0
webapps/ROOT/WEB-INF/classes/kohgylw/service/FileService.class
...ps/ROOT/WEB-INF/classes/kohgylw/service/FileService.class
+0
-0
webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$1.class
...-INF/classes/kohgylw/service/impl/FileServiceImpl$1.class
+0
-0
webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$2.class
...-INF/classes/kohgylw/service/impl/FileServiceImpl$2.class
+0
-0
webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$3.class
...-INF/classes/kohgylw/service/impl/FileServiceImpl$3.class
+0
-0
webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl.class
...EB-INF/classes/kohgylw/service/impl/FileServiceImpl.class
+0
-0
webapps/ROOT/WEB-INF/classes/kohgylw/util/FileBlockUtil.class
...pps/ROOT/WEB-INF/classes/kohgylw/util/FileBlockUtil.class
+0
-0
webapps/ROOT/WEB-INF/lib/lz4-1.3.0.jar
webapps/ROOT/WEB-INF/lib/lz4-1.3.0.jar
+0
-0
webapps/ROOT/etc/configure.properties
webapps/ROOT/etc/configure.properties
+1
-1
webapps/ROOT/home.jsp
webapps/ROOT/home.jsp
+29
-2
webapps/ROOT/js/home.js
webapps/ROOT/js/home.js
+54
-22
work/.DS_Store
work/.DS_Store
+0
-0
work/Catalina/.DS_Store
work/Catalina/.DS_Store
+0
-0
work/Catalina/localhost/.DS_Store
work/Catalina/localhost/.DS_Store
+0
-0
work/Catalina/localhost/ROOT/SESSIONS.ser
work/Catalina/localhost/ROOT/SESSIONS.ser
+0
-0
work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.class
work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.class
+0
-0
work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.java
work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.java
+32
-3
说明文档.pdf
说明文档.pdf
+0
-0
未找到文件。
README.md
浏览文件 @
e0df2130
...
...
@@ -24,6 +24,9 @@ _注:kift的解压即用版就叫做kiftd_
-------------------
最新讯息:
### 关于打包下载功能的细节调整
+
在打包下载时,ZIP的压缩时间比较长,这回导致用户误以为系统崩溃。现在为压缩过程增加了提示信息。另外,本应用内置的ZIP压缩方式在压缩100MB以上的文件时所用时间会明显变长。原本计划打包下载就是为了给碎片化文件一次性下载准备的,并未考虑到压缩大文件,因此效率不高。在本人找到更好的压缩算法并更新前,请不要对太大的文件进行打包下载(虽然不会崩溃,但压缩时间会很长)。
### 关于windows下安装方法的修正:
+
本人在Windows虚拟机上进行了模拟安装测试,并发现了之前很多用户反馈闪退问题的根本原因:安装java不会在系统中自动增加JRE_HOME环境变量。这导致kiftd根本无法找到java运行环境,出现闪退。目前本人已经紧急更新了windows下的安装流程并详细说明,为您带来的不便深感歉意!详见《说明文档》。
...
...
webapps/ROOT/.DS_Store
浏览文件 @
e0df2130
无法预览此类型文件
webapps/ROOT/META-INF/maven/kohgylw/KohgylwIFT/pom.properties
浏览文件 @
e0df2130
#Generated by Maven Integration for Eclipse
#
Fri Mar 23 08:34:28
CST 2018
#
Thu Mar 29 14:06:37
CST 2018
version
=
0.0.1-SNAPSHOT
groupId
=
kohgylw
m2e.projectName
=
KohgylwIFT
...
...
webapps/ROOT/META-INF/maven/kohgylw/KohgylwIFT/pom.xml
浏览文件 @
e0df2130
...
...
@@ -79,7 +79,16 @@
<version>
2.4
</version>
</dependency>
<!-- end file -->
<!-- ZIP lz4 Util -->
<!-- https://mvnrepository.com/artifact/net.jpountz.lz4/lz4 -->
<dependency>
<groupId>
net.jpountz.lz4
</groupId>
<artifactId>
lz4
</artifactId>
<version>
1.3.0
</version>
</dependency>
<!-- end ZIP -->
</dependencies>
<build>
<finalName>
KohgylwIFT
</finalName>
...
...
webapps/ROOT/WEB-INF/classes/kohgylw/controller/HomeController.class
浏览文件 @
e0df2130
无法预览此类型文件
webapps/ROOT/WEB-INF/classes/kohgylw/listener/SCListener.class
浏览文件 @
e0df2130
无法预览此类型文件
webapps/ROOT/WEB-INF/classes/kohgylw/service/FileService.class
浏览文件 @
e0df2130
无法预览此类型文件
webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$1.class
浏览文件 @
e0df2130
无法预览此类型文件
webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$2.class
浏览文件 @
e0df2130
无法预览此类型文件
webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$3.class
浏览文件 @
e0df2130
无法预览此类型文件
webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl.class
浏览文件 @
e0df2130
无法预览此类型文件
webapps/ROOT/WEB-INF/classes/kohgylw/util/FileBlockUtil.class
浏览文件 @
e0df2130
无法预览此类型文件
webapps/ROOT/WEB-INF/lib/lz4-1.3.0.jar
0 → 100644
浏览文件 @
e0df2130
文件已添加
webapps/ROOT/etc/configure.properties
浏览文件 @
e0df2130
...
...
@@ -32,7 +32,7 @@ authOverall = l
#[Login and browse home page]
#This setting means visitor could browse file list if not login
#If you want any visitor must log in to entry the home page,you can set this value is N
#(N =
oN
;O = off)
#(N =
no
;O = off)
#Example:
#mustLogin = N
mustLogin
=
O
...
...
webapps/ROOT/home.jsp
浏览文件 @
e0df2130
...
...
@@ -249,7 +249,9 @@
</h4>
</div>
<div
class=
"modal-body"
>
<h5>
选择文件:
<span
id=
"selectcount"
></span></h5>
<h5>
选择文件:
<span
id=
"selectcount"
></span>
</h5>
<input
type=
"text"
id=
"filepath"
class=
"form-control"
onclick=
"checkpath()"
onfocus=
"this.blur()"
placeholder=
"请点击选择要上传的文件……"
>
<input
type=
"file"
...
...
@@ -368,8 +370,33 @@
</div>
</div>
<%-- end 修改文件夹模态框 --%>
<%-- 打包下载模态框 --%>
<div
class=
"modal fade bs-example-modal-sm"
id=
"downloadAllCheckedModal"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"downloadAllCheckedModalTitle"
>
<div
class=
"modal-dialog modal-sm"
role=
"document"
>
<div
class=
"modal-content"
>
<div
class=
"modal-header"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-label=
"Close"
>
<span
aria-hidden=
"true"
>
×
</span>
</button>
<h4
class=
"modal-title"
id=
"downloadAllCheckedModalTitle"
>
<span
class=
"glyphicon glyphicon-cloud-download"
></span>
打包下载
</h4>
</div>
<div
class=
"modal-body"
>
<h5><span
id=
"downloadAllCheckedName"
></span><span
id=
"downloadAllCheckedLoad"
style=
"text-align: center;"
></span></h5>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-default"
data-dismiss=
"modal"
>
取消
</button>
<span
id=
"downloadAllCheckedBox"
></span>
</div>
</div>
</div>
</div>
<%-- end 打包下载模态框 --%>
</body>
<script
type=
"text/javascript"
src=
"js/jquery-3.3.1.min.js"
></script>
<script
type=
"text/javascript"
src=
"js/bootstrap.min.js"
></script>
<script
type=
"text/javascript"
src=
"js/home.
min.
js"
></script>
<script
type=
"text/javascript"
src=
"js/home.js"
></script>
</html>
\ No newline at end of file
webapps/ROOT/js/home.js
浏览文件 @
e0df2130
...
...
@@ -938,47 +938,79 @@ function checkallfile() {
}
}
// 显示打包下载模态框
function
showDownloadAllCheckedModel
()
{
$
(
"
#downloadFileBox
"
).
html
(
""
);
$
(
"
#downloadAllCheckedBox
"
).
html
(
""
);
$
(
"
#downloadAllCheckedLoad
"
).
text
(
""
);
var
checkedfiles
=
$
(
"
.info
"
).
get
();
if
(
checkedfiles
.
length
==
0
)
{
$
(
"
#download
File
Name
"
)
$
(
"
#download
AllChecked
Name
"
)
.
text
(
"
提示:您还未选择任何文件,请先选中一些文件后再执行本操作(您可以通过点击某一文件行来选中/取消选中文件,也可以通过点击列表上的“文件名”一栏来选中/取消选中所有文件)
"
);
}
else
{
$
(
"
#download
File
Name
"
).
text
(
$
(
"
#download
AllChecked
Name
"
).
text
(
"
提示:您确认要打包并下载这
"
+
checkedfiles
.
length
+
"
项么?
"
);
$
(
"
#download
File
Box
"
)
$
(
"
#download
AllChecked
Box
"
)
.
html
(
"
<button id='dlmbutton' type='button' class='btn btn-primary' onclick='downloadAllChecked()'>开始下载</button>
"
);
$
(
"
#dlmbutton
"
).
attr
(
'
disabled
'
,
false
);
"
<button id='d
c
lmbutton' type='button' class='btn btn-primary' onclick='downloadAllChecked()'>开始下载</button>
"
);
$
(
"
#d
c
lmbutton
"
).
attr
(
'
disabled
'
,
false
);
}
$
(
"
#downloadModal
"
).
modal
(
'
toggle
'
);
$
(
"
#download
AllChecked
Modal
"
).
modal
(
'
toggle
'
);
}
// 下载选中的所有文件
function
downloadAllChecked
()
{
$
(
"
#dclmbutton
"
).
attr
(
'
disabled
'
,
true
);
var
checkedfiles
=
$
(
"
.info
"
).
get
();
var
downloadIdArray
=
new
Array
();
for
(
var
i
=
0
;
i
<
checkedfiles
.
length
;
i
++
)
{
downloadIdArray
[
i
]
=
checkedfiles
[
i
].
id
;
}
var
strIdList
=
JSON
.
stringify
(
downloadIdArray
);
$
(
"
#dlmbutton
"
).
attr
(
'
disabled
'
,
true
);
$
(
"
#downloadFileName
"
).
text
(
"
提示:准备开始下载(共
"
+
checkedfiles
.
length
+
"
项),请稍候...
"
);
var
t
=
setTimeout
(
"
$('#downloadModal').modal('hide');
"
,
1000
);
// POST提交全部下载请求
var
temp
=
document
.
createElement
(
"
form
"
);
temp
.
action
=
'
homeController/downloadCheckedFiles.do
'
;
temp
.
method
=
"
post
"
;
temp
.
style
.
display
=
"
none
"
;
var
sl
=
document
.
createElement
(
"
input
"
);
sl
.
name
=
'
strIdList
'
;
sl
.
value
=
strIdList
;
temp
.
appendChild
(
sl
);
document
.
body
.
appendChild
(
temp
);
temp
.
submit
();
$
(
"
#downloadAllCheckedName
"
).
text
(
"
提示:正在进行压缩(共
"
+
checkedfiles
.
length
+
"
项),这可能需要一些时间(文件越大时间越长)。压缩完成后自动开始下载
"
);
var
count
=
0
;
var
c
=
new
Array
(
"
.
"
,
"
..
"
,
"
...
"
,
""
);
setInterval
(
function
()
{
if
(
count
>
c
.
length
)
{
count
=
0
;
}
$
(
"
#downloadAllCheckedLoad
"
).
text
(
c
[
count
]);
count
++
;
},
500
);
$
.
ajax
({
type
:
"
POST
"
,
url
:
"
homeController/downloadCheckedFiles.ajax
"
,
data
:
{
strIdList
:
strIdList
},
dataType
:
"
text
"
,
success
:
function
(
result
)
{
if
(
result
==
"
ERROR
"
)
{
$
(
"
#downloadAllCheckedName
"
)
.
text
(
"
提示:压缩过程出错。无法完成压缩,请重试或告知管理员。
"
);
}
else
{
$
(
"
#downloadAllCheckedLoad
"
).
text
(
""
);
$
(
"
#downloadAllCheckedName
"
).
text
(
"
提示:压缩完成!准备开始下载...
"
);
var
t
=
setTimeout
(
"
$('#downloadAllCheckedModal').modal('hide');
"
,
800
);
// POST提交全部下载请求
var
temp
=
document
.
createElement
(
"
form
"
);
temp
.
action
=
'
homeController/downloadCheckedFilesZip.do
'
;
temp
.
method
=
"
post
"
;
temp
.
style
.
display
=
"
none
"
;
var
sl
=
document
.
createElement
(
"
input
"
);
sl
.
name
=
'
zipId
'
;
sl
.
value
=
result
;
temp
.
appendChild
(
sl
);
document
.
body
.
appendChild
(
temp
);
temp
.
submit
();
}
},
error
:
function
()
{
$
(
"
#downloadAllCheckedName
"
).
text
(
"
提示:请求失败。无法完成压缩,请重试或告知管理员。
"
);
}
});
}
// 删除选中的所有文件
...
...
w
ebapps/ROOT/etc
/.DS_Store
→
w
ork
/.DS_Store
浏览文件 @
e0df2130
无法预览此类型文件
work/Catalina/.DS_Store
0 → 100644
浏览文件 @
e0df2130
文件已添加
work/Catalina/localhost/.DS_Store
0 → 100644
浏览文件 @
e0df2130
文件已添加
work/Catalina/localhost/ROOT/SESSIONS.ser
0 → 100644
浏览文件 @
e0df2130
文件已添加
work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.class
浏览文件 @
e0df2130
无法预览此类型文件
work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.java
浏览文件 @
e0df2130
/*
* Generated by the Jasper component of Apache Tomcat
* Version: Apache Tomcat/9.0.0.M17
* Generated at: 2018-03-2
3 01:20:08
UTC
* Generated at: 2018-03-2
9 08:26:44
UTC
* Note: The last modified time of this file was set to
* the last modified time of the source file after
* generation to assist with modification tracking.
...
...
@@ -376,7 +376,9 @@ public final class home_jsp extends org.apache.jasper.runtime.HttpJspBase
out
.
write
(
"\t\t\t\t\t</h4>\n"
);
out
.
write
(
"\t\t\t\t</div>\n"
);
out
.
write
(
"\t\t\t\t<div class=\"modal-body\">\n"
);
out
.
write
(
"\t\t\t\t\t<h5>选择文件:<span id=\"selectcount\"></span></h5>\n"
);
out
.
write
(
"\t\t\t\t\t<h5>\n"
);
out
.
write
(
"\t\t\t\t\t\t选择文件:<span id=\"selectcount\"></span>\n"
);
out
.
write
(
"\t\t\t\t\t</h5>\n"
);
out
.
write
(
"\t\t\t\t\t<input type=\"text\" id=\"filepath\" class=\"form-control\"\n"
);
out
.
write
(
"\t\t\t\t\t\tonclick=\"checkpath()\" onfocus=\"this.blur()\"\n"
);
out
.
write
(
"\t\t\t\t\t\tplaceholder=\"请点击选择要上传的文件……\"> <input type=\"file\"\n"
);
...
...
@@ -501,11 +503,38 @@ public final class home_jsp extends org.apache.jasper.runtime.HttpJspBase
out
.
write
(
"\t\t</div>\n"
);
out
.
write
(
"\t</div>\n"
);
out
.
write
(
"\t"
);
out
.
write
(
'\n'
);
out
.
write
(
' '
);
out
.
write
(
"\n"
);
out
.
write
(
"\t<div class=\"modal fade bs-example-modal-sm\" id=\"downloadAllCheckedModal\"\n"
);
out
.
write
(
"\t\ttabindex=\"-1\" role=\"dialog\" aria-labelledby=\"downloadAllCheckedModalTitle\">\n"
);
out
.
write
(
"\t\t<div class=\"modal-dialog modal-sm\" role=\"document\">\n"
);
out
.
write
(
"\t\t\t<div class=\"modal-content\">\n"
);
out
.
write
(
"\t\t\t\t<div class=\"modal-header\">\n"
);
out
.
write
(
"\t\t\t\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\"\n"
);
out
.
write
(
"\t\t\t\t\t\taria-label=\"Close\">\n"
);
out
.
write
(
"\t\t\t\t\t\t<span aria-hidden=\"true\">×</span>\n"
);
out
.
write
(
"\t\t\t\t\t</button>\n"
);
out
.
write
(
"\t\t\t\t\t<h4 class=\"modal-title\" id=\"downloadAllCheckedModalTitle\">\n"
);
out
.
write
(
"\t\t\t\t\t\t<span class=\"glyphicon glyphicon-cloud-download\"></span> 打包下载\n"
);
out
.
write
(
"\t\t\t\t\t</h4>\n"
);
out
.
write
(
"\t\t\t\t</div>\n"
);
out
.
write
(
"\t\t\t\t<div class=\"modal-body\">\n"
);
out
.
write
(
"\t\t\t\t\t<h5><span id=\"downloadAllCheckedName\"></span><span id=\"downloadAllCheckedLoad\" style=\"text-align: center;\"></span></h5>\n"
);
out
.
write
(
"\t\t\t\t</div>\n"
);
out
.
write
(
"\t\t\t\t<div class=\"modal-footer\">\n"
);
out
.
write
(
"\t\t\t\t\t<button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">取消</button>\n"
);
out
.
write
(
"\t\t\t\t\t<span id=\"downloadAllCheckedBox\"></span>\n"
);
out
.
write
(
"\t\t\t\t</div>\n"
);
out
.
write
(
"\t\t\t</div>\n"
);
out
.
write
(
"\t\t</div>\n"
);
out
.
write
(
"\t</div>\n"
);
out
.
write
(
"\t"
);
out
.
write
(
"\n"
);
out
.
write
(
"</body>\n"
);
out
.
write
(
"<script type=\"text/javascript\" src=\"js/jquery-3.3.1.min.js\"></script>\n"
);
out
.
write
(
"<script type=\"text/javascript\" src=\"js/bootstrap.min.js\"></script>\n"
);
out
.
write
(
"<script type=\"text/javascript\" src=\"js/home.
min.
js\"></script>\n"
);
out
.
write
(
"<script type=\"text/javascript\" src=\"js/home.js\"></script>\n"
);
out
.
write
(
"</html>"
);
}
catch
(
java
.
lang
.
Throwable
t
)
{
if
(!(
t
instanceof
javax
.
servlet
.
jsp
.
SkipPageException
)){
...
...
说明文档.pdf
浏览文件 @
e0df2130
无法预览此类型文件
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录