Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwsswl
OneManager-php
提交
d03423bb
O
OneManager-php
项目概览
lwsswl
/
OneManager-php
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
OneManager-php
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d03423bb
编写于
5月 16, 2021
作者:
K
kizx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新onemoe主题
上级
77d81474
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
512 addition
and
125 deletion
+512
-125
theme/onemoe.html
theme/onemoe.html
+512
-125
未找到文件。
theme/onemoe.html
浏览文件 @
d03423bb
...
...
@@ -24,9 +24,12 @@
<link
rel=
"icon"
href=
"<!--base_path-->favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"shortcut icon"
href=
"<!--base_path-->favicon.ico"
type=
"image/x-icon"
>
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/gh/kizx/onemoe-theme/onemoe.min.css"
type=
"text/css"
/>
<!--BackgroundStart-->
<!--BackgroundStart-->
<style>body
{
background-repeat
:
no-repeat
;
background-size
:
cover
;
background-attachment
:
fixed
;
background-position-x
:
center
;
background-image
:
url
(
"<!
--BackgroundUrl--
>"
)}
</style>
<!--BackgroundEnd-->
<!--BackgroundEnd-->
<!--BackgroundMStart-->
<style>
@media
screen
and
(
orientation
:
portrait
){
body
{
background-image
:
url
(
"<!
--BackgroundMUrl--
>"
);}}
</style>
<!--BackgroundMEnd-->
<script
type=
"text/javascript"
>
if
(
window
.
console
&&
window
.
console
.
log
){
console
.
log
(
"
%c Onemoe Theme %c https://github.com/kizx/onemoe-theme
"
,
"
color: #fff; margin: 1em 0; padding: 5px 0; background: #673ab7;
"
,
"
margin: 1em 0; padding: 5px 0; background: #efefef;
"
)}
</script>
<!--customCss-->
</head>
...
...
@@ -104,42 +107,41 @@
<div
class=
"list-wrapper"
id=
"list-div"
>
<div
class=
"list-container"
>
<div
class=
"list-header-container"
>
<!--BackArrowStart-->
<a
href=
"<!--BackArrowUrl-->"
class=
"back-link"
>
<ion-icon
name=
"arrow-back"
></ion-icon>
</a>
<!--BackArrowEnd-->
<h3
class=
"table-header"
>
<!--PathArrayStart-->
/
<a
href=
"<!--PathArrayLink-->"
>
<!--PathArrayName-->
</a>
<!--PathArrayEnd-->
</h3>
<h3
class=
"table-header"
><a
href=
"<!--base_path-->"
>
<!--constStr@Home-->
</a>
<!--DiskPathArrayStart-->
/
<a
href=
"<!--PathArrayLink-->"
>
<!--PathArrayName-->
</a>
<!--DiskPathArrayEnd-->
</h3>
</div>
<div
class=
"list-body-container"
>
<!--EncryptedStart-->
<div
style=
"padding:20px"
>
<center>
<form
action=
""
method=
"post"
>
<input
name=
"password1"
type=
"password"
placeholder=
"<!--constStr@InputPassword-->"
>
<input
id=
"password1"
name=
"password1"
type=
"password"
placeholder=
"<!--constStr@InputPassword-->"
>
<input
type=
"submit"
value=
"<!--constStr@Submit-->"
>
</form>
</center>
</div>
<!--EncryptedEnd-->
<!--GuestUploadStart-->
<div
id=
"upload_div"
style=
"margin:10px"
>
<div
id=
"upload_btns"
align=
"center"
>
<input
id=
"upload_file"
type=
"file"
name=
"upload_filename"
>
<div
id=
"upload_div"
style=
"padding:0 0 16px 0"
>
<div
id=
"upload_btns"
align=
"center"
>
<select
onchange=
"document.getElementById('upload_file').webkitdirectory=this.value;"
>
<option
value=
""
>
<!--constStr@UploadFile-->
</option>
<option
value=
"1"
>
<!--constStr@UploadFolder-->
</option>
</select>
<input
id=
"upload_file"
type=
"file"
name=
"upload_filename"
multiple=
"multiple"
>
<input
id=
"upload_submit"
onclick=
"preup();"
value=
"<!--constStr@Upload-->"
type=
"button"
>
</div>
</div>
</div>
<!--GuestUploadEnd-->
<!--IsFileStart-->
<div
style=
"
margin
: 12px 4px 4px; text-align: center"
>
<div
style=
"
padding
: 12px 4px 4px; text-align: center"
>
<div
style=
"margin: 24px"
>
<textarea
id=
"url"
title=
"url"
rows=
"1"
style=
"width: 100%; margin-top: 2px;"
readonly
>
<!--FileEncodeUrl-->
</textarea>
<a
href=
"<!--FileUrl-->"
><ion-icon
name=
"download"
style=
"line-height: 16px;vertical-align: middle;"
></ion-icon>
<!--constStr@Download-->
</a>
<a
href=
"<!--File
Encode
Url-->"
><ion-icon
name=
"download"
style=
"line-height: 16px;vertical-align: middle;"
></ion-icon>
<!--constStr@Download-->
</a>
</div>
<div
style=
"margin: 24px"
>
<!--IsimgFileStart-->
<img
src=
"<!--File
Down
Url-->"
alt=
"<!--FileName-->"
onload=
"if (this.offsetWidth>document.getElementById('url').offsetWidth) this.style.width='100%';"
/>
<img
src=
"<!--File
Encode
Url-->"
alt=
"<!--FileName-->"
onload=
"if (this.offsetWidth>document.getElementById('url').offsetWidth) this.style.width='100%';"
/>
<!--IsimgFileEnd-->
<!--IsvideoFileStart-->
<div
id=
"video-a0"
></div>
...
...
@@ -205,7 +207,7 @@
</li>
<!--AdminEnd-->
<ion-icon
name=
"folder"
></ion-icon>
<a
id=
"file_a<!--filenum-->"
name=
"folderlist"
href=
"<!--FileEncodeReplaceUrl-->/"
>
<!--FileEncodeReplaceName-->
</a>
<a
id=
"file_a<!--filenum-->"
name=
"folderlist"
href=
"<!--FileEncodeReplaceUrl-->/"
fileid=
"<!--FileId-->"
>
<!--FileEncodeReplaceName-->
</a>
</td>
<td
class=
"updated_at"
id=
"folder_time<!--filenum-->"
>
<!--lastModifiedDateTime-->
</td>
<td
class=
"size"
id=
"folder_size<!--filenum-->"
>
<!--size-->
</td>
...
...
@@ -225,7 +227,7 @@
</li>
<!--AdminEnd-->
<ion-icon
name=
"<!--IconValue-->"
></ion-icon>
<a
id=
"file_a<!--filenum-->"
name=
"filelist"
href=
"<!--FileEncodeReplaceUrl-->?preview"
target=
_blank
>
<!--FileEncodeReplaceName-->
</a>
<a
id=
"file_a<!--filenum-->"
name=
"filelist"
href=
"<!--FileEncodeReplaceUrl-->?preview"
fileid=
"<!--FileId-->"
target=
_blank
>
<!--FileEncodeReplaceName-->
</a>
<a
class=
"download"
href=
"<!--FileEncodeReplaceUrl-->"
><ion-icon
name=
"download"
></ion-icon></a>
</td>
<td
class=
"updated_at"
id=
"file_time<!--filenum-->"
>
<!--lastModifiedDateTime-->
</td>
...
...
@@ -261,7 +263,7 @@
</form>
<!--MorePageEnd-->
<!--AdminStart-->
<div
id=
"upload_div"
style=
"
margin
:0 0 16px 0"
>
<div
id=
"upload_div"
style=
"
padding
:0 0 16px 0"
>
<div
id=
"upload_btns"
align=
"center"
>
<select
onchange=
"document.getElementById('upload_file').webkitdirectory=this.value;"
>
<option
value=
""
>
<!--constStr@UploadFile-->
</option>
...
...
@@ -273,10 +275,10 @@
</div>
<!--AdminEnd-->
<!--IsFolderEnd-->
<!--ListEnd-->
</div>
</div>
</div>
<!--ListEnd-->
<!--ReadmemdStart-->
<div
class=
"list-wrapper"
id=
"readme-div"
>
<div
class=
"list-container"
>
...
...
@@ -313,6 +315,7 @@
<label
id=
"rename_label"
></label><br><br><a
onclick=
"operatediv_close('rename')"
class=
"operatediv_close"
>
<!--constStr@Close-->
</a>
<form
id=
"rename_form"
onsubmit=
"return submit_operate('rename');"
>
<input
id=
"rename_sid"
name=
"rename_sid"
type=
"hidden"
value=
""
>
<input
id=
"rename_fileid"
name=
"rename_fileid"
type=
"hidden"
value=
""
>
<input
id=
"rename_hidden"
name=
"rename_oldname"
type=
"hidden"
value=
""
>
<input
id=
"rename_input"
name=
"rename_newname"
type=
"text"
value=
""
>
<input
name=
"operate_action"
type=
"submit"
value=
"<!--constStr@Rename-->"
>
...
...
@@ -326,6 +329,7 @@
<form
id=
"delete_form"
onsubmit=
"return submit_operate('delete');"
>
<label
id=
"delete_input"
>
<!--constStr@Delete-->
?
</label>
<input
id=
"delete_sid"
name=
"delete_sid"
type=
"hidden"
value=
""
>
<input
id=
"delete_fileid"
name=
"delete_fileid"
type=
"hidden"
value=
""
>
<input
id=
"delete_hidden"
name=
"delete_name"
type=
"hidden"
value=
""
>
<input
name=
"operate_action"
type=
"submit"
value=
"<!--constStr@Submit-->"
>
</form>
...
...
@@ -336,6 +340,7 @@
<label
id=
"encrypt_label"
></label><br><br><a
onclick=
"operatediv_close('encrypt')"
class=
"operatediv_close"
>
<!--constStr@Close-->
</a>
<form
id=
"encrypt_form"
onsubmit=
"return submit_operate('encrypt');"
>
<input
id=
"encrypt_sid"
name=
"encrypt_sid"
type=
"hidden"
value=
""
>
<input
id=
"encrypt_fileid"
name=
"encrypt_fileid"
type=
"hidden"
value=
""
>
<input
id=
"encrypt_hidden"
name=
"encrypt_folder"
type=
"hidden"
value=
""
>
<input
id=
"encrypt_input"
name=
"encrypt_newpass"
type=
"text"
value=
""
placeholder=
"<!--constStr@InputPasswordUWant-->"
>
<!--EncryptBtnStart-->
<input
name=
"operate_action"
type=
"submit"
value=
"<!--constStr@Encrypt-->"
>
<!--EncryptBtnEnd--><!--EncryptAlertStart-->
<br><label>
<!--constStr@SetpassfileBfEncrypt-->
</label>
<!--EncryptAlertEnd-->
...
...
@@ -347,6 +352,7 @@
<label
id=
"copy_label"
></label><br><br><a
onclick=
"operatediv_close('copy')"
class=
"operatediv_close"
>
<!--constStr@Close-->
</a>
<form
id=
"copy_form"
onsubmit=
"return submit_operate('copy');"
>
<input
id=
"copy_sid"
name=
"copy_sid"
type=
"hidden"
value=
""
>
<input
id=
"copy_fileid"
name=
"copy_fileid"
type=
"hidden"
value=
""
>
<input
id=
"copy_hidden"
name=
"copy_name"
type=
"hidden"
value=
""
>
<input
id=
"copy_input"
name=
"copy_input"
type=
"hidden"
value=
""
>
<input
name=
"operate_action"
type=
"submit"
value=
"<!--constStr@Copy-->"
>
...
...
@@ -358,6 +364,7 @@
<label
id=
"move_label"
></label><br><br><a
onclick=
"operatediv_close('move')"
class=
"operatediv_close"
>
<!--constStr@Close-->
</a>
<form
id=
"move_form"
onsubmit=
"return submit_operate('move');"
>
<input
id=
"move_sid"
name=
"move_sid"
type=
"hidden"
value=
""
>
<input
id=
"move_fileid"
name=
"move_fileid"
type=
"hidden"
value=
""
>
<input
id=
"move_hidden"
name=
"move_name"
type=
"hidden"
value=
""
>
<select
id=
"move_input"
name=
"move_folder"
>
<!--MoveRootStart-->
...
...
@@ -376,6 +383,7 @@
<a
onclick=
"operatediv_close('create')"
class=
"operatediv_close"
>
<!--constStr@Close-->
</a>
<form
id=
"create_form"
onsubmit=
"return submit_operate('create');"
>
<input
id=
"create_sid"
name=
"create_sid"
type=
"hidden"
value=
""
>
<input
id=
"create_fileid"
name=
"create_fileid"
type=
"hidden"
value=
""
>
<input
id=
"create_hidden"
type=
"hidden"
value=
""
>
<table>
<tr>
...
...
@@ -412,14 +420,15 @@
<div
id=
"login_div"
class=
"operatediv"
style=
"display:none"
>
<div
style=
"margin:50px"
>
<a
onclick=
"operatediv_close('login')"
class=
"operatediv_close"
>
<!--constStr@Close-->
</a>
<center>
<form
action=
"<!--IsPreview?-->admin"
method=
"post"
>
<input
id=
"login_input"
name=
"password1"
type=
"password"
placeholder=
"<!--constStr@InputPassword-->"
>
<input
type=
"submit"
value=
"<!--constStr@Login-->"
>
</form>
<center>
<form
action=
"<!--IsPreview?-->admin"
method=
"post"
onsubmit=
"return sha1loginpass(this);"
>
<input
id=
"login_input"
name=
"password1"
type=
"password"
placeholder=
"<!--constStr@InputPassword-->"
>
<input
name=
"timestamp"
type=
"hidden"
value=
""
>
<input
type=
"submit"
value=
"<!--constStr@Login-->"
>
</form>
</center>
</div>
</div>
</div>
<!--LoginEnd-->
<div
style=
"color: rgba(247,247,249,0);"
>
<!--FootStr-->
</div>
</body>
...
...
@@ -428,6 +437,7 @@
<!--MdRequireStart-->
<link
rel=
"stylesheet"
href=
"//unpkg.zhimg.com/github-markdown-css@3.0.1/github-markdown.css"
>
<script
type=
"text/javascript"
src=
"//unpkg.zhimg.com/marked@0.6.2/marked.min.js"
></script>
<!--MdRequireEnd-->
<!--GuestUploadStart-->
<script
type=
"text/javascript"
src=
"//cdn.bootcss.com/spark-md5/3.0.0/spark-md5.min.js"
></script>
<!--GuestUploadEnd-->
<!--AliyundriveUploadJsStart-->
<script
src=
"https://cdn.bootcss.com/js-sha1/0.6.0/sha1.min.js"
></script>
<!--AliyundriveUploadJsEnd-->
<!--IsFileStart--><!--IspdfFileStart-->
<script
src=
"//cdn.bootcss.com/pdf.js/2.3.200/pdf.min.js"
></script>
<!--IspdfFileEnd--><!--IsFileEnd-->
<!--ListEnd-->
<script
type=
"text/javascript"
>
...
...
@@ -440,28 +450,32 @@
document
.
cookie
=
'
language=
'
+
str
+
'
; path=/;
'
+
expires
;
location
.
href
=
location
.
href
;
}
<!--
ListStart
-->
/*var root = '<!--base_disk_path-->';
function path_format(path) {
path = '/' + path + '/';
while (path.indexOf('//') !== -1) {
path = path.replace('//', '/')
}
return path
<!--
LoginStart
-->
function
login
()
{
document
.
getElementById
(
'
mask
'
).
style
.
display
=
''
;
//document.getElementById('mask').style.width=document.documentElement.scrollWidth+'px';
document
.
getElementById
(
'
mask
'
).
style
.
height
=
document
.
documentElement
.
scrollHeight
<
window
.
innerHeight
?
window
.
innerHeight
:
document
.
documentElement
.
scrollHeight
+
'
px
'
;
document
.
getElementById
(
'
login_div
'
).
style
.
display
=
''
;
document
.
getElementById
(
'
login_div
'
).
style
.
left
=
(
document
.
body
.
clientWidth
-
document
.
getElementById
(
'
login_div
'
).
offsetWidth
)
/
2
+
'
px
'
;
document
.
getElementById
(
'
login_div
'
).
style
.
top
=
(
window
.
innerHeight
-
document
.
getElementById
(
'
login_div
'
).
offsetHeight
)
/
2
+
document
.
body
.
scrollTop
+
'
px
'
;
document
.
getElementById
(
'
login_input
'
).
focus
();
}
document.querySelectorAll('.table-header').forEach(function (e) {
var path = e.innerText;
if (path.substr(path.length-1)=='/') path = path.substr(0, path.length-1);
var paths = path.split('/');
e.innerHTML = '/ ';
if (paths <= 2) return;
for (var i = 1; i < paths.length - 1; i++) {
var to = path_format(root + paths.slice(0, i + 1).join('/'));
e.innerHTML += '<a href="' + to + '">' + paths[i] + '</a> / '
function
sha1loginpass
(
f
)
{
if
(
f
.
password1
.
value
==
""
)
return
false
;
try
{
timestamp
=
new
Date
().
getTime
()
+
""
;
timestamp
=
timestamp
.
substr
(
0
,
timestamp
.
length
-
3
);
f
.
timestamp
.
value
=
timestamp
;
f
.
password1
.
value
=
sha1
(
timestamp
+
""
+
f
.
password1
.
value
);
return
true
;
}
catch
{
alert
(
"
sha1.js not loaded.
"
);
return
false
;
}
e.innerHTML += paths[paths.length - 1];
e.innerHTML = e.innerHTML.replace(/\s\/\s$/, '')
});*/
}
<!--
LoginEnd
-->
<!--
ListStart
-->
<!--
IsFileStart
-->
var
$url
=
document
.
getElementById
(
'
url
'
);
if
(
$url
)
{
...
...
@@ -544,7 +558,7 @@
});
}
}
addVideos
([
'
<!--File
Down
Url-->
'
]);
addVideos
([
'
<!--File
Encode
Url-->
'
]);
<!--
IsvideoFileEnd
-->
<!--
IspdfFileStart
-->
pdfjsLib
.
GlobalWorkerOptions
.
workerSrc
=
'
//cdn.bootcss.com/pdf.js/2.3.200/pdf.worker.min.js
'
;
...
...
@@ -589,7 +603,6 @@
if
(
$head
)
{
//document.getElementById('head-div').parentNode.insertBefore(document.getElementById('head-div'),document.getElementById('list-div'));
$head
.
innerHTML
=
marked
(
document
.
getElementById
(
'
head-md
'
).
innerText
);
}
<!--
HeadmdEnd
-->
<!--
ReadmemdStart
-->
...
...
@@ -609,15 +622,13 @@
strarry
=
str
.
split
(
'
.
'
);
ext
=
strarry
[
strarry
.
length
-
1
].
toLowerCase
();
if
(
images
.
indexOf
(
ext
)
>-
1
)
{
var
url
=
files
[
$i
].
href
;
url
=
url
.
substr
(
0
,
url
.
length
-
8
);
if
(
document
.
getElementById
(
'
originalpic
'
).
checked
==
true
)
{
var
url
=
files
[
$i
].
href
;
url
=
url
.
substr
(
0
,
url
.
length
-
8
);
files
[
$i
].
parentNode
.
parentNode
.
innerHTML
=
'
<td colspan="3"><img src="
'
+
url
+
'
" alt="
'
+
str
+
'
" onload="if (this.offsetWidth>document.getElementById(
\'
list-div
\'
).offsetWidth) this.style.width=
\'
100%
\'
;"></td>
'
;
$i
--
;
}
else
{
var
nurl
=
window
.
location
.
href
;
if
(
nurl
.
substr
(
-
1
)
!=
"
/
"
)
nurl
+=
"
/
"
;
var
url
=
nurl
+
str
+
'
?thumbnails
'
;
url
+=
'
?thumbnails
'
;
get_thumbnails_url
(
url
,
str
,
files
[
$i
]);
}
}
...
...
@@ -754,6 +765,40 @@
alert
(
tmptextarea
.
innerHTML
+
"
<!--constStr@Success-->
"
);
}
<!--
UploadJsStart
-->
function
size_format
(
num
)
{
if
(
num
>
1024
)
{
num
=
num
/
1024
;
}
else
{
return
num
.
toFixed
(
2
)
+
'
B
'
;
}
if
(
num
>
1024
)
{
num
=
num
/
1024
;
}
else
{
return
num
.
toFixed
(
2
)
+
'
KB
'
;
}
if
(
num
>
1024
)
{
num
=
num
/
1024
;
}
else
{
return
num
.
toFixed
(
2
)
+
'
MB
'
;
}
return
num
.
toFixed
(
2
)
+
'
GB
'
;
}
function
seconds2hour
(
seconds
)
{
let
h
,
m
,
s
;
if
(
parseFloat
(
seconds
)
<
60
)
{
return
seconds
+
'
s
'
;
}
else
{
s
=
(
seconds
%
60
).
toFixed
(
0
);
m
=
parseInt
(
seconds
/
60
);
if
(
parseInt
(
m
)
<
60
)
{
return
m
+
'
m
'
+
s
+
'
s
'
;
}
else
{
h
=
parseInt
(
m
/
60
);
m
=
m
%
60
;
return
h
+
'
h
'
+
m
+
'
m
'
+
s
+
'
s
'
;
}
}
}
function
uploadbuttonhide
()
{
document
.
getElementById
(
'
upload_btns
'
).
style
.
display
=
'
none
'
;
/*document.getElementById('upload_submit').disabled='disabled';
...
...
@@ -768,6 +813,9 @@
document.getElementById('upload_submit').style.display='';
document.getElementById('upload_file').style.display='';*/
}
var
uploading
=
new
Object
();
<!--
UploadJsEnd
-->
<!--
OnedriveUploadJsStart
-->
function
preup
()
{
uploadbuttonhide
();
var
files
=
document
.
getElementById
(
'
upload_file
'
).
files
;
...
...
@@ -780,7 +828,15 @@
table1
.
setAttribute
(
'
class
'
,
'
list-table
'
);
var
timea
=
new
Date
().
getTime
();
var
i
=
0
;
getuplink
(
i
);
var
uploadList
=
setInterval
(
function
(){
if
(
i
<
files
.
length
)
{
if
(
Object
.
keys
(
uploading
).
length
<
5
)
{
getuplink
(
i
);
i
++
;
}
// else console.log(Object.keys(uploading).length);
}
else
clearInterval
(
uploadList
);
},
1000
);
//getuplink(i);
function
getuplink
(
i
,
r
=
0
)
{
var
file
=
files
[
i
];
var
td1
;
...
...
@@ -793,7 +849,7 @@
tr1
.
appendChild
(
td1
);
td1
.
setAttribute
(
'
style
'
,
'
width:30%;word-break:break-word;
'
);
td1
.
setAttribute
(
'
id
'
,
'
upfile_td1_
'
+
timea
+
'
_
'
+
i
);
td1
.
innerHTML
=
(
file
.
webkitRelativePath
||
file
.
name
)
+
'
<br>
'
+
size_format
(
file
.
size
);
td1
.
innerHTML
=
(
file
.
webkitRelativePath
||
file
.
name
)
+
'
<br>
'
+
size_format
(
file
.
size
)
+
'
(
'
+
(
i
+
1
)
+
'
/
'
+
files
.
length
+
'
)
'
;
td2
=
document
.
createElement
(
'
td
'
);
tr1
.
appendChild
(
td2
);
td2
.
setAttribute
(
'
id
'
,
'
upfile_td2_
'
+
timea
+
'
_
'
+
i
);
...
...
@@ -806,11 +862,13 @@
uploadbuttonshow
();
return
;
}
upbigfilename
=
encodeURIComponent
((
file
.
webkitRelativePath
||
file
.
name
));
var
upbigfilename
=
encodeURIComponent
((
file
.
webkitRelativePath
||
file
.
name
));
uploading
[
upbigfilename
]
=
i
;
var
filemd5
=
''
;
<!--
GuestStart
-->
function
getext
(
str
)
{
strarry
=
str
.
split
(
'
.
'
);
if
(
strarry
.
length
==
1
)
return
''
;
ext
=
strarry
[
strarry
.
length
-
1
].
toLowerCase
();
var
reg
=
new
RegExp
(
"
.
"
,
"
g
"
);
var
a
=
str
.
replace
(
reg
,
""
);
...
...
@@ -838,29 +896,21 @@
if
(
asize
<
file
.
size
)
{
readblob
(
asize
);
}
else
{
var
filemd5
=
spark
.
end
();
filemd5
=
spark
.
end
();
td2
.
innerHTML
=
'
md5:
'
+
filemd5
;
upbigfilename
=
filemd5
+
ext
;
<!--
GuestEnd
-->
td2
.
innerHTML
=
'
<!--constStr@GetUploadLink--> ...
'
;
var
xhr1
=
new
XMLHttpRequest
();
xhr1
.
open
(
"
POST
"
,
'
?action=upbigfile
'
);
//xhr1.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
xhr1
.
setRequestHeader
(
'
x-requested-with
'
,
'
XMLHttpRequest
'
);
xhr1
.
onprogress
=
function
(
e
){
td2
.
innerHTML
+=
'
.
'
;
}
xhr1
.
onload
=
function
(
e
){
console
.
log
(
xhr1
.
status
+
xhr1
.
responseText
);
//
console.log(xhr1.status+xhr1.responseText);
td2
.
innerHTML
=
'
<font color="red">
'
+
xhr1
.
responseText
+
'
</font>
'
;
if
(
xhr1
.
status
==
409
)
{
// td2.innerHTML='nameAlreadyExists';
var
html
=
JSON
.
parse
(
xhr1
.
responseText
);
td2
.
innerHTML
=
html
[
'
error
'
][
'
code
'
]
+
'
:
'
+
html
[
'
error
'
][
'
message
'
];
<!--
GuestStart
-->
td2
.
innerHTML
=
'
md5:
'
+
filemd5
;
<!--
GuestEnd
-->
td1
.
innerHTML
=
'
<div style="color:green"><a href="<!--base_disk_path--><!--Path-->
'
+
(
file
.
webkitRelativePath
||
file
.
name
)
+
'
?preview" id="upfile_a_
'
+
tdnum
+
'
" target="_blank">
'
+
td1
.
innerHTML
+
'
</a><br><a href="<!--base_disk_path--><!--Path-->
'
+
(
file
.
webkitRelativePath
||
file
.
name
)
+
'
" id="upfile_a1_
'
+
tdnum
+
'
"></a><!--constStr@UploadComplete--><button onclick="CopyAllDownloadUrl(
\'
#upfile_a1_
'
+
tdnum
+
'
\'
);" id="upfile_cpbt_
'
+
tdnum
+
'
" <!--AdminStart--> style="display:none"<!--AdminEnd--> ><!--constStr@CopyUrl--></button></div>
'
;
}
if
(
xhr1
.
status
==
200
)
{
if
(
xhr1
.
responseText
==
''
)
{
getuplink
(
i
,
1
);
...
...
@@ -873,10 +923,24 @@
td2
.
innerHTML
=
'
<!--constStr@UploadStart--> ...
'
;
binupfile
(
file
,
html
[
'
uploadUrl
'
],
timea
+
'
_
'
+
i
,
upbigfilename
);
}
}
if
(
i
<
files
.
length
-
1
)
{
}
else
{
if
(
xhr1
.
status
==
409
)
{
// td2.innerHTML='nameAlreadyExists';
var
html
=
JSON
.
parse
(
xhr1
.
responseText
);
td2
.
innerHTML
=
html
[
'
error
'
][
'
code
'
]
+
'
:
'
+
html
[
'
error
'
][
'
message
'
];
<!--
GuestStart
-->
td2
.
innerHTML
=
'
md5:
'
+
filemd5
;
td1
.
innerHTML
=
'
<div style="color:green"><a href="<!--base_disk_path--><!--Path-->
'
+
upbigfilename
+
'
?preview" id="upfile_a_
'
+
tdnum
+
'
" target="_blank">
'
+
td1
.
innerHTML
+
'
</a><br><a href="<!--base_disk_path--><!--Path-->
'
+
upbigfilename
+
'
" id="upfile_a1_
'
+
tdnum
+
'
"></a><!--constStr@UploadComplete--><button onclick="CopyAllDownloadUrl(
\'
#upfile_a1_
'
+
tdnum
+
'
\'
);" id="upfile_cpbt_
'
+
tdnum
+
'
"><!--constStr@CopyUrl--></button></div>
'
;
<!--
GuestEnd
-->
<!--
AdminStart
-->
td1
.
innerHTML
=
'
<div style="color:green"><a href="<!--base_disk_path--><!--Path-->
'
+
(
file
.
webkitRelativePath
||
file
.
name
)
+
'
?preview" id="upfile_a_
'
+
tdnum
+
'
" target="_blank">
'
+
td1
.
innerHTML
+
'
</a><br><a href="<!--base_disk_path--><!--Path-->
'
+
(
file
.
webkitRelativePath
||
file
.
name
)
+
'
" id="upfile_a1_
'
+
tdnum
+
'
"></a><!--constStr@UploadComplete--><button onclick="CopyAllDownloadUrl(
\'
#upfile_a1_
'
+
tdnum
+
'
\'
);" id="upfile_cpbt_
'
+
tdnum
+
'
" style="display:none"><!--constStr@CopyUrl--></button></div>
'
;
<!--
AdminEnd
-->
}
/*if (i<files.length-1) {
i++;
getuplink(i);
}*/
delete
uploading
[
upbigfilename
];
}
}
xhr1
.
send
(
'
upbigfilename=
'
+
upbigfilename
+
'
&filesize=
'
+
file
.
size
+
'
&filelastModified=
'
+
file
.
lastModified
+
'
&filemd5=
'
+
filemd5
);
...
...
@@ -887,24 +951,7 @@
}
uploadbuttonshow
();
}
function
size_format
(
num
)
{
if
(
num
>
1024
)
{
num
=
num
/
1024
;
}
else
{
return
num
.
toFixed
(
2
)
+
'
B
'
;
}
if
(
num
>
1024
)
{
num
=
num
/
1024
;
}
else
{
return
num
.
toFixed
(
2
)
+
'
KB
'
;
}
if
(
num
>
1024
)
{
num
=
num
/
1024
;
}
else
{
return
num
.
toFixed
(
2
)
+
'
MB
'
;
}
return
num
.
toFixed
(
2
)
+
'
GB
'
;
}
function
binupfile
(
file
,
url
,
tdnum
,
filename
){
var
label
=
document
.
getElementById
(
'
upfile_td2_
'
+
tdnum
);
var
reader
=
new
FileReader
();
...
...
@@ -953,7 +1000,7 @@
var
tmptime
=
new
Date
();
var
tmpspeed
=
e
.
loaded
*
1000
/
(
tmptime
.
getTime
()
-
C_starttime
.
getTime
());
var
remaintime
=
(
totalsize
-
asize
-
e
.
loaded
)
/
tmpspeed
;
label
.
innerHTML
=
StartStr
+
'
<!--constStr@Upload-->
'
+
size_format
(
asize
+
e
.
loaded
)
+
'
/
'
+
size_format
(
totalsize
)
+
'
=
'
+
((
asize
+
e
.
loaded
)
*
100
/
totalsize
).
toFixed
(
2
)
+
'
% <!--constStr@AverageSpeed-->:
'
+
size_format
((
asize
+
e
.
loaded
-
newstartsize
)
*
1000
/
(
tmptime
.
getTime
()
-
StartTime
.
getTime
()))
+
'
/s<br><!--constStr@CurrentSpeed-->
'
+
size_format
(
tmpspeed
)
+
'
/s <!--constStr@Expect-->
'
+
remaintime
.
toFixed
(
1
)
+
'
s
'
;
label
.
innerHTML
=
StartStr
+
'
<!--constStr@Upload-->
'
+
size_format
(
asize
+
e
.
loaded
)
+
'
/
'
+
size_format
(
totalsize
)
+
'
=
'
+
((
asize
+
e
.
loaded
)
*
100
/
totalsize
).
toFixed
(
2
)
+
'
% <!--constStr@AverageSpeed-->:
'
+
size_format
((
asize
+
e
.
loaded
-
newstartsize
)
*
1000
/
(
tmptime
.
getTime
()
-
StartTime
.
getTime
()))
+
'
/s<br><!--constStr@CurrentSpeed-->
'
+
size_format
(
tmpspeed
)
+
'
/s <!--constStr@Expect-->
'
+
seconds2hour
(
remaintime
.
toFixed
(
1
))
;
}
}
var
C_starttime
=
new
Date
();
...
...
@@ -962,12 +1009,14 @@
var
response
=
JSON
.
parse
(
xhr
.
responseText
);
if
(
response
[
'
size
'
]
>
0
)
{
// contain size, upload finish. 有size说明是最终返回,上传结束
var
xhr3
=
new
XMLHttpRequest
();
xhr3
.
open
(
"
GET
"
,
'
?action=del_upload_cache&filelastModified=
'
+
file
.
lastModified
+
'
&filesize=
'
+
file
.
size
+
'
&filename=
'
+
filename
);
xhr3
.
setRequestHeader
(
'
x-requested-with
'
,
'
XMLHttpRequest
'
);
xhr3
.
send
(
null
);
xhr3
.
onload
=
function
(
e
){
console
.
log
(
xhr3
.
responseText
+
'
,
'
+
xhr3
.
status
);
if
(
totalsize
>
10
*
1024
*
1024
)
{
var
xhr3
=
new
XMLHttpRequest
();
xhr3
.
open
(
"
GET
"
,
'
?action=del_upload_cache&filelastModified=
'
+
file
.
lastModified
+
'
&filesize=
'
+
file
.
size
+
'
&filename=
'
+
filename
);
xhr3
.
setRequestHeader
(
'
x-requested-with
'
,
'
XMLHttpRequest
'
);
xhr3
.
send
(
null
);
xhr3
.
onload
=
function
(
e
){
console
.
log
(
xhr3
.
responseText
+
'
,
'
+
xhr3
.
status
);
}
}
EndTime
=
new
Date
();
MiddleStr
=
'
<!--constStr@EndAt-->:
'
+
EndTime
.
toLocaleString
()
+
'
<br>
'
;
...
...
@@ -976,8 +1025,12 @@
}
else
{
MiddleStr
+=
'
<!--constStr@ThisTime--><!--constStr@AverageSpeed-->:
'
+
size_format
((
totalsize
-
newstartsize
)
*
1000
/
(
EndTime
.
getTime
()
-
StartTime
.
getTime
()))
+
'
/s<br>
'
;
}
document
.
getElementById
(
'
upfile_td1_
'
+
tdnum
).
innerHTML
=
'
<div style="color:green"><a href="<!--base_disk_path--><!--Path-->
'
+
(
file
.
webkitRelativePath
||
response
.
name
)
+
'
?preview" id="upfile_a_
'
+
tdnum
+
'
" target="_blank">
'
+
document
.
getElementById
(
'
upfile_td1_
'
+
tdnum
).
innerHTML
+
'
</a><br><a href="<!--base_disk_path--><!--Path-->
'
+
(
file
.
webkitRelativePath
||
response
.
name
)
+
'
" id="upfile_a1_
'
+
tdnum
+
'
"></a><!--constStr@UploadComplete--><button onclick="CopyAllDownloadUrl(
\'
#upfile_a1_
'
+
tdnum
+
'
\'
);" id="upfile_cpbt_
'
+
tdnum
+
'
" <!--AdminStart--> style="display:none"<!--AdminEnd--> ><!--constStr@CopyUrl--></button></div>
'
;
delete
uploading
[
filename
];
while
(
filename
.
indexOf
(
'
%2F
'
)
>
0
)
filename
=
filename
.
replace
(
'
%2F
'
,
'
/
'
);
document
.
getElementById
(
'
upfile_td1_
'
+
tdnum
).
innerHTML
=
'
<div style="color:green"><a href="<!--base_disk_path--><!--Path-->
'
+
filename
+
'
?preview" id="upfile_a_
'
+
tdnum
+
'
" target="_blank">
'
+
document
.
getElementById
(
'
upfile_td1_
'
+
tdnum
).
innerHTML
+
'
</a><br><a href="<!--base_disk_path--><!--Path-->
'
+
filename
+
'
" id="upfile_a1_
'
+
tdnum
+
'
"></a><!--constStr@UploadComplete--><button onclick="CopyAllDownloadUrl(
\'
#upfile_a1_
'
+
tdnum
+
'
\'
);" id="upfile_cpbt_
'
+
tdnum
+
'
" <!--AdminStart--> style="display:none"<!--AdminEnd--> ><!--constStr@CopyUrl--></button></div>
'
;
label
.
innerHTML
=
StartStr
+
MiddleStr
;
label
.
style
.
color
=
'
green
'
;
// uploadbuttonshow();
<!--
AdminStart
-->
response
.
name
=
file
.
webkitRelativePath
||
response
.
name
;
...
...
@@ -986,6 +1039,7 @@
}
else
{
if
(
!
response
[
'
nextExpectedRanges
'
])
{
label
.
innerHTML
=
'
<font color="red">
'
+
xhr
.
responseText
+
'
</font><br>
'
;
delete
uploading
[
filename
];
}
else
{
var
a
=
response
[
'
nextExpectedRanges
'
][
0
];
asize
=
Number
(
a
.
slice
(
0
,
a
.
indexOf
(
"
-
"
))
);
...
...
@@ -1001,12 +1055,332 @@
}
else
{
label
.
innerHTML
=
'
<font color="red">
'
+
xhr2
.
responseText
+
'
</font>
'
;
}
delete
uploading
[
filename
];
// uploadbuttonshow();
}
}
}
}
<!--
UploadJsEnd
-->
<!--
OnedriveUploadJsEnd
-->
<!--
AliyundriveUploadJsStart
-->
function
preup
()
{
uploadbuttonhide
();
var
files
=
document
.
getElementById
(
'
upload_file
'
).
files
;
if
(
files
.
length
<
1
)
{
uploadbuttonshow
();
return
;
};
var
table1
=
document
.
createElement
(
'
table
'
);
document
.
getElementById
(
'
upload_div
'
).
appendChild
(
table1
);
table1
.
setAttribute
(
'
class
'
,
'
list-table
'
);
var
timea
=
new
Date
().
getTime
();
var
i
=
0
;
var
uploadList
=
setInterval
(
function
(){
if
(
i
<
files
.
length
)
{
if
(
Object
.
keys
(
uploading
).
length
<
5
)
{
getuplink
(
i
);
i
++
;
}
// else console.log(Object.keys(uploading).length);
}
else
clearInterval
(
uploadList
);
},
1000
);
//getuplink(i);
function
getuplink
(
i
,
r
=
0
)
{
var
file
=
files
[
i
];
var
td1
;
var
td2
;
if
(
r
==
0
)
{
var
tr1
=
document
.
createElement
(
'
tr
'
);
table1
.
appendChild
(
tr1
);
tr1
.
setAttribute
(
'
data-to
'
,
1
);
td1
=
document
.
createElement
(
'
td
'
);
tr1
.
appendChild
(
td1
);
td1
.
setAttribute
(
'
style
'
,
'
width:30%;word-break:break-word;
'
);
td1
.
setAttribute
(
'
id
'
,
'
upfile_td1_
'
+
timea
+
'
_
'
+
i
);
td1
.
innerHTML
=
(
file
.
webkitRelativePath
||
file
.
name
)
+
'
<br>
'
+
size_format
(
file
.
size
)
+
'
(
'
+
(
i
+
1
)
+
'
/
'
+
files
.
length
+
'
)
'
;
td2
=
document
.
createElement
(
'
td
'
);
tr1
.
appendChild
(
td2
);
td2
.
setAttribute
(
'
id
'
,
'
upfile_td2_
'
+
timea
+
'
_
'
+
i
);
}
var
tdnum
=
timea
+
'
_
'
+
i
;
td1
=
document
.
getElementById
(
'
upfile_td1_
'
+
tdnum
);
td2
=
document
.
getElementById
(
'
upfile_td2_
'
+
tdnum
);
var
chunksize
=
10
*
1024
*
1024
;
// 分块大小
//var chunksize=100*1024; // 测试小块
/*if (file.size>100*1024*1024*1024) {
td2.innerHTML='<font color="red"><!--constStr@UpFileTooLarge--></font>';
uploadbuttonshow();
return;
}*/
var
upbigfilename
=
encodeURIComponent
((
file
.
webkitRelativePath
||
file
.
name
));
uploading
[
upbigfilename
]
=
[
i
];
var
spark
=
sha1
.
create
();
var
reader
=
new
FileReader
();
var
chunksize
=
10
*
1024
*
1024
;
var
asize
=
0
;
var
filesha1
;
function
readblob
(
start
)
{
var
end
=
start
+
chunksize
;
var
blob
=
file
.
slice
(
start
,
end
);
reader
.
readAsArrayBuffer
(
blob
);
}
readblob
(
asize
);
reader
.
onload
=
function
(
e
){
td2
.
innerHTML
=
'
<!--constStr@Calculate--> SHA1:
'
+
(
asize
*
100
/
file
.
size
).
toFixed
(
2
)
+
'
%
'
;
var
binary
=
this
.
result
;
spark
.
update
(
binary
);
asize
+=
chunksize
;
if
(
asize
<
file
.
size
)
{
readblob
(
asize
);
}
else
{
filesha1
=
spark
.
hex
();
td2
.
innerHTML
=
'
SHA1:
'
+
filesha1
;
<!--
GuestStart
-->
function
getext
(
str
)
{
let
p
=
str
.
lastIndexOf
(
'
.
'
);
if
(
p
===-
1
)
return
''
;
if
(
p
===
0
)
return
''
;
return
str
.
substr
(
p
);
}
var
ext
=
getext
(
file
.
webkitRelativePath
||
file
.
name
);
upbigfilename
=
filesha1
+
ext
;
<!--
GuestEnd
-->
//while (upbigfilename.indexOf('%2F')>0) upbigfilename = upbigfilename.replace('%2F', '/');
td2
.
innerHTML
=
'
<!--constStr@GetUploadLink--> ...
'
;
var
html
=
JSON
.
parse
(
localStorage
.
getItem
(
filesha1
));
//console.log(html);
if
(
html
!==
null
&&
(
'
part_info_list
'
in
html
))
{
td2
.
innerHTML
=
'
<!--constStr@UploadStart--> ...
'
;
binupfile
(
file
,
html
,
timea
+
'
_
'
+
i
,
upbigfilename
,
filesha1
,
chunksize
);
}
else
{
var
xhr1
=
new
XMLHttpRequest
();
xhr1
.
open
(
"
POST
"
,
'
?action=upbigfile
'
);
//xhr1.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
xhr1
.
setRequestHeader
(
'
x-requested-with
'
,
'
XMLHttpRequest
'
);
xhr1
.
onload
=
function
(
e
){
//console.log(xhr1.status+xhr1.responseText);
td2
.
innerHTML
=
'
<font color="red">
'
+
xhr1
.
responseText
+
'
</font>
'
;
if
(
xhr1
.
status
==
201
)
{
if
(
xhr1
.
responseText
==
''
)
{
getuplink
(
i
,
1
);
return
;
}
var
html
=
JSON
.
parse
(
xhr1
.
responseText
);
//console.log(html);
if
(
!
html
[
'
part_info_list
'
])
{
if
(
html
.
name
!=
''
)
{
if
(
html
.
exist
==
true
)
td2
.
innerHTML
=
html
.
name
+
'
文件名已有
'
;
else
if
(
html
.
rapid_upload
==
true
)
td2
.
innerHTML
=
html
.
name
+
'
秒传
'
;
else
td2
.
innerHTML
=
'
<font color="red">
'
+
xhr1
.
responseText
+
'
</font><br>
'
;
td1
.
innerHTML
=
'
<div style="color:green"><a href="<!--base_disk_path--><!--Path-->
'
+
upbigfilename
+
'
?preview" id="upfile_a_
'
+
tdnum
+
'
" target="_blank">
'
+
td1
.
innerHTML
+
'
</a><br><a href="<!--base_disk_path--><!--Path-->
'
+
upbigfilename
+
'
" id="upfile_a1_
'
+
tdnum
+
'
"></a><!--constStr@UploadComplete--><button onclick="CopyAllDownloadUrl(
\'
#upfile_a1_
'
+
tdnum
+
'
\'
);" id="upfile_cpbt_
'
+
tdnum
+
'
" <!--AdminStart--> style="display:none"<!--AdminEnd--> ><!--constStr@CopyUrl--></button></div>
'
;
}
else
{
td2
.
innerHTML
=
'
<font color="red">
'
+
xhr1
.
responseText
+
'
</font><br>
'
;
}
delete
uploading
[
upbigfilename
];
}
else
{
td2
.
innerHTML
=
'
<!--constStr@UploadStart--> ...
'
;
//console.log(html);
localStorage
.
setItem
(
filesha1
,
JSON
.
stringify
(
html
));
binupfile
(
file
,
html
,
timea
+
'
_
'
+
i
,
upbigfilename
,
filesha1
,
chunksize
);
}
}
else
{
delete
uploading
[
upbigfilename
];
}
/*if (i<files.length-1) {
i++;
getuplink(i);
}*/
}
xhr1
.
send
(
'
upbigfilename=
'
+
upbigfilename
+
'
&filesize=
'
+
file
.
size
+
'
&filelastModified=
'
+
file
.
lastModified
+
'
&filesha1=
'
+
filesha1
+
'
&chunksize=
'
+
chunksize
);
}
}
}
}
uploadbuttonshow
();
}
function
binupfile
(
file
,
res
,
tdnum
,
filename
,
filesha1
,
chunksize
)
{
// xhr.getResponseHeader
if
(
!
(
'
ETag
'
in
res
))
res
[
'
ETag
'
]
=
new
Array
();
var
fileid
=
res
[
'
file_id
'
];
var
uploadid
=
res
[
'
upload_id
'
];
var
label
=
document
.
getElementById
(
'
upfile_td2_
'
+
tdnum
);
var
reader
=
new
FileReader
();
var
StartStr
=
''
;
var
MiddleStr
=
''
;
var
StartTime
;
var
EndTime
;
var
newstartsize
=
0
;
if
(
!!
file
){
var
chunknum
=
0
;
var
chunknumtotal
=
res
[
'
part_info_list
'
].
length
;
var
asize
=
0
;
var
totalsize
=
file
.
size
;
var
newstartsize
=
0
;
while
(
res
[
'
ETag
'
][
chunknum
]
!=
null
)
{
chunknum
++
;
newstartsize
+=
chunksize
;
}
StartTime
=
new
Date
();
asize
=
newstartsize
;
if
(
newstartsize
==
0
)
{
StartStr
=
'
<!--constStr@UploadStartAt-->:
'
+
StartTime
.
toLocaleString
()
+
'
<br>
'
;
}
else
{
StartStr
=
'
<!--constStr@LastUpload-->
'
+
size_format
(
newstartsize
)
+
'
<br><!--constStr@ThisTime--><!--constStr@UploadStartAt-->:
'
+
StartTime
.
toLocaleString
()
+
'
<br>
'
;
}
//var chunksize=5*1024*1024; // chunk size, max 60M. 每小块上传大小
//if (totalsize>200*1024*1024) chunksize=10*1024*1024;
function
readblob
(
start
)
{
var
end
=
start
+
chunksize
;
var
blob
=
file
.
slice
(
start
,
end
);
reader
.
readAsArrayBuffer
(
blob
);
//reader.readAsArrayBuffer(file);
}
readblob
(
asize
);
reader
.
onload
=
function
(
e
){
if
(
asize
>
totalsize
)
{
var
xhr1
=
new
XMLHttpRequest
();
xhr1
.
open
(
"
POST
"
,
'
?action=upbigfile
'
);
//xhr1.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
xhr1
.
setRequestHeader
(
'
x-requested-with
'
,
'
XMLHttpRequest
'
);
xhr1
.
onload
=
function
(
e
){
console
.
log
(
xhr1
.
responseText
+
'
,
'
+
xhr1
.
status
);
if
(
xhr1
.
status
==
200
)
{
localStorage
.
removeItem
(
filesha1
);
<!--
AdminStart
-->
var
html
=
JSON
.
parse
(
xhr1
.
responseText
);
//response.name=file.webkitRelativePath||response.name;
addelement
(
html
);
<!--
AdminEnd
-->
/*if (totalsize>10*1024*1024) {
var xhr3 = new XMLHttpRequest();
xhr3.open("GET", '?action=del_upload_cache&filelastModified='+file.lastModified+'&filesize='+file.size+'&filename='+filename);
xhr3.setRequestHeader('x-requested-with','XMLHttpRequest');
xhr3.send(null);
xhr3.onload = function(e){
console.log(xhr3.responseText+','+xhr3.status);
}
}*/
EndTime
=
new
Date
();
MiddleStr
=
'
<!--constStr@EndAt-->:
'
+
EndTime
.
toLocaleString
()
+
'
<br>
'
;
if
(
newstartsize
==
0
)
{
MiddleStr
+=
'
<!--constStr@AverageSpeed-->:
'
+
size_format
(
totalsize
*
1000
/
(
EndTime
.
getTime
()
-
StartTime
.
getTime
()))
+
'
/s<br>
'
;
}
else
{
MiddleStr
+=
'
<!--constStr@ThisTime--><!--constStr@AverageSpeed-->:
'
+
size_format
((
totalsize
-
newstartsize
)
*
1000
/
(
EndTime
.
getTime
()
-
StartTime
.
getTime
()))
+
'
/s<br>
'
;
}
document
.
getElementById
(
'
upfile_td1_
'
+
tdnum
).
innerHTML
=
'
<div style="color:green"><a href="<!--base_disk_path--><!--Path-->
'
+
filename
+
'
?preview" id="upfile_a_
'
+
tdnum
+
'
" target="_blank">
'
+
document
.
getElementById
(
'
upfile_td1_
'
+
tdnum
).
innerHTML
+
'
</a><br><a href="<!--base_disk_path--><!--Path-->
'
+
filename
+
'
" id="upfile_a1_
'
+
tdnum
+
'
"></a><!--constStr@UploadComplete--><button onclick="CopyAllDownloadUrl(
\'
#upfile_a1_
'
+
tdnum
+
'
\'
);" id="upfile_cpbt_
'
+
tdnum
+
'
" <!--AdminStart--> style="display:none"<!--AdminEnd--> ><!--constStr@CopyUrl--></button></div>
'
;
label
.
innerHTML
=
StartStr
+
MiddleStr
;
label
.
style
.
color
=
'
green
'
;
}
else
{
label
.
innerHTML
=
'
<font color="red">
'
+
xhr1
.
status
+
'
,
'
+
xhr1
.
responseText
+
'
</font>
'
;
localStorage
.
removeItem
(
filesha1
);
}
delete
uploading
[
filename
];
}
xhr1
.
send
(
'
uploadid=
'
+
uploadid
+
'
&fileid=
'
+
fileid
+
'
&etag=
'
+
JSON
.
stringify
(
res
[
'
ETag
'
]));
}
else
{
var
binary
=
this
.
result
;
var
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
"
PUT
"
,
res
[
'
part_info_list
'
][
chunknum
][
'
upload_url
'
],
true
);
//xhr.setRequestHeader('x-requested-with','XMLHttpRequest');
bsize
=
asize
+
e
.
loaded
-
1
;
xhr
.
setRequestHeader
(
'
Content-Range
'
,
'
bytes
'
+
asize
+
'
-
'
+
bsize
+
'
/
'
+
totalsize
);
xhr
.
upload
.
onprogress
=
function
(
e
){
if
(
e
.
lengthComputable
)
{
var
tmptime
=
new
Date
();
var
tmpspeed
=
e
.
loaded
*
1000
/
(
tmptime
.
getTime
()
-
C_starttime
.
getTime
());
var
remaintime
=
(
totalsize
-
asize
-
e
.
loaded
)
/
tmpspeed
;
label
.
innerHTML
=
StartStr
+
'
<!--constStr@Upload-->
'
+
size_format
(
asize
+
e
.
loaded
)
+
'
/
'
+
size_format
(
totalsize
)
+
'
=
'
+
((
asize
+
e
.
loaded
)
*
100
/
totalsize
).
toFixed
(
2
)
+
'
% <!--constStr@AverageSpeed-->:
'
+
size_format
((
asize
+
e
.
loaded
-
newstartsize
)
*
1000
/
(
tmptime
.
getTime
()
-
StartTime
.
getTime
()))
+
'
/s<br><!--constStr@CurrentSpeed-->
'
+
size_format
(
tmpspeed
)
+
'
/s <!--constStr@Expect-->
'
+
seconds2hour
(
remaintime
.
toFixed
(
1
));
}
}
var
C_starttime
=
new
Date
();
xhr
.
onload
=
function
(
e
){
if
(
xhr
.
status
<
500
)
{
//console.log(xhr.responseText);
//console.log(xhr.getResponseHeader('ETag'));
//var response=JSON.parse(xhr.responseText);
if
(
xhr
.
responseText
==
''
&&
xhr
.
getResponseHeader
(
'
ETag
'
)
!=
''
)
{
// 有ETag说明本段上传成功
let
etag
=
xhr
.
getResponseHeader
(
'
ETag
'
);
//if (etag.substr(0,1)=='"') etag = etag.substr(1);还就要引号!
//if (etag.substr(-1)=='"') etag = etag.substr(0, etag.length-1);
res
[
'
ETag
'
][
chunknum
]
=
etag
;
localStorage
.
setItem
(
filesha1
,
JSON
.
stringify
(
res
));
chunknum
++
;
asize
=
bsize
+
1
;
if
(
chunknum
==
chunknumtotal
)
{
// 上传结束
var
xhr1
=
new
XMLHttpRequest
();
xhr1
.
open
(
"
POST
"
,
'
?action=upbigfile
'
);
//xhr1.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
xhr1
.
setRequestHeader
(
'
x-requested-with
'
,
'
XMLHttpRequest
'
);
xhr1
.
onload
=
function
(
e
){
console
.
log
(
xhr1
.
responseText
+
'
,
'
+
xhr1
.
status
);
if
(
xhr1
.
status
==
200
)
{
localStorage
.
removeItem
(
filesha1
);
<!--
AdminStart
-->
var
html
=
JSON
.
parse
(
xhr1
.
responseText
);
//response.name=file.webkitRelativePath||response.name;
addelement
(
html
);
<!--
AdminEnd
-->
/*if (totalsize>10*1024*1024) {
var xhr3 = new XMLHttpRequest();
xhr3.open("GET", '?action=del_upload_cache&filelastModified='+file.lastModified+'&filesize='+file.size+'&filename='+filename);
xhr3.setRequestHeader('x-requested-with','XMLHttpRequest');
xhr3.send(null);
xhr3.onload = function(e){
console.log(xhr3.responseText+','+xhr3.status);
}
}*/
EndTime
=
new
Date
();
MiddleStr
=
'
<!--constStr@EndAt-->:
'
+
EndTime
.
toLocaleString
()
+
'
<br>
'
;
if
(
newstartsize
==
0
)
{
MiddleStr
+=
'
<!--constStr@AverageSpeed-->:
'
+
size_format
(
totalsize
*
1000
/
(
EndTime
.
getTime
()
-
StartTime
.
getTime
()))
+
'
/s<br>
'
;
}
else
{
MiddleStr
+=
'
<!--constStr@ThisTime--><!--constStr@AverageSpeed-->:
'
+
size_format
((
totalsize
-
newstartsize
)
*
1000
/
(
EndTime
.
getTime
()
-
StartTime
.
getTime
()))
+
'
/s<br>
'
;
}
document
.
getElementById
(
'
upfile_td1_
'
+
tdnum
).
innerHTML
=
'
<div style="color:green"><a href="<!--base_disk_path--><!--Path-->
'
+
filename
+
'
?preview" id="upfile_a_
'
+
tdnum
+
'
" target="_blank">
'
+
document
.
getElementById
(
'
upfile_td1_
'
+
tdnum
).
innerHTML
+
'
</a><br><a href="<!--base_disk_path--><!--Path-->
'
+
filename
+
'
" id="upfile_a1_
'
+
tdnum
+
'
"></a><!--constStr@UploadComplete--><button onclick="CopyAllDownloadUrl(
\'
#upfile_a1_
'
+
tdnum
+
'
\'
);" id="upfile_cpbt_
'
+
tdnum
+
'
" <!--AdminStart--> style="display:none"<!--AdminEnd--> ><!--constStr@CopyUrl--></button></div>
'
;
label
.
innerHTML
=
StartStr
+
MiddleStr
;
label
.
style
.
color
=
'
green
'
;
}
else
{
label
.
innerHTML
=
'
<font color="red">
'
+
xhr1
.
status
+
'
,
'
+
xhr1
.
responseText
+
'
</font>
'
;
localStorage
.
removeItem
(
filesha1
);
}
delete
uploading
[
filename
];
}
xhr1
.
send
(
'
uploadid=
'
+
uploadid
+
'
&fileid=
'
+
fileid
+
'
&etag=
'
+
JSON
.
stringify
(
res
[
'
ETag
'
]));
// uploadbuttonshow();
}
else
{
readblob
(
asize
);
}
}
else
{
console
.
log
(
xhr
.
status
+
xhr
.
responseText
);
//
<
PartEtag
>
if
(
xhr
.
status
==
409
)
{
let
str
=
xhr
.
responseText
;
str
=
str
.
substr
(
str
.
indexOf
(
'
<PartEtag>
'
)
+
10
);
str
=
str
.
substr
(
0
,
str
.
indexOf
(
'
</PartEtag>
'
));
res
[
'
ETag
'
][
chunknum
]
=
str
;
localStorage
.
setItem
(
filesha1
,
JSON
.
stringify
(
res
));
chunknum
++
;
asize
+=
chunksize
;
readblob
(
asize
);
}
else
{
delete
uploading
[
filename
];
}
//label.innerHTML='
<
font
color
=
"
red
"
>
'
+xhr.responseText+
'
<
/font><br>'
;
}
}
else
readblob
(
asize
);
}
xhr
.
send
(
binary
);
}
}
}
}
<!--
AliyundriveUploadJsEnd
-->
<!--
GoogledriveUploadJsStart
-->
function
preup
()
{
alert
(
"
Stop!
\n
Can not upload form explorer without token.
"
);
}
<!--
GoogledriveUploadJsEnd
-->
<!--
ListEnd
-->
function
operatediv_close
(
operate
)
{
document
.
getElementById
(
operate
+
'
_div
'
).
style
.
display
=
'
none
'
;
...
...
@@ -1014,9 +1388,28 @@
}
<!--
AdminStart
-->
function
logout
()
{
document
.
cookie
=
"
admin=; path=/
"
;
var
expd
=
new
Date
();
expd
.
setTime
(
expd
.
getTime
()
+
1000
);
var
expires
=
"
expires=
"
+
expd
.
toGMTString
();
document
.
cookie
=
"
admin=; path=/;
"
+
expires
;
location
.
href
=
location
.
href
;
}
/*for some mobile browser*/
function
menu_click
(
e
){
var
ee
=
document
.
getElementsByClassName
(
"
active
"
);
for
(
var
i
=
0
;
i
<
ee
.
length
;
i
++
){
ee
[
i
].
classList
.
remove
(
"
active
"
);
}
if
(
e
.
type
!=
"
mouseout
"
)
this
.
classList
.
add
(
"
active
"
);
}
(
function
(){
var
e
=
document
.
getElementsByClassName
(
"
operate
"
);
document
.
body
.
addEventListener
(
"
touchstart
"
,
menu_click
);
for
(
var
i
=
0
;
i
<
e
.
length
;
i
++
){
e
[
i
].
addEventListener
(
"
touchstart
"
,
menu_click
);
e
[
i
].
addEventListener
(
"
mouseout
"
,
menu_click
);
}
})();
<!--
IsFolderStart
-->
function
showdiv
(
event
,
action
,
num
)
{
var
$operatediv
=
document
.
getElementsByName
(
'
operatediv
'
);
...
...
@@ -1028,21 +1421,19 @@
document
.
getElementById
(
'
mask
'
).
style
.
height
=
document
.
documentElement
.
scrollHeight
<
window
.
innerHeight
?
window
.
innerHeight
:
document
.
documentElement
.
scrollHeight
+
'
px
'
;
if
(
num
==
''
)
{
var
str
=
''
;
var
fileid
=
''
;
}
else
{
var
str
=
document
.
getElementById
(
'
file_a
'
+
num
).
innerText
;
if
(
str
==
''
)
{
str
=
document
.
getElementById
(
'
file_a
'
+
num
).
getElementsByTagName
(
"
img
"
)[
0
].
alt
;
if
(
str
==
''
)
{
alert
(
'
<!--constStr@GetFileNameFail-->
'
);
operatediv_close
(
action
);
return
;
}
}
if
(
str
.
substr
(
-
1
)
==
'
'
)
str
=
str
.
substr
(
0
,
str
.
length
-
1
);
var
str
=
decodeURIComponent
(
document
.
getElementById
(
'
file_a
'
+
num
).
href
);
if
(
str
.
substr
(
-
1
)
==
'
'
)
str
=
str
.
substr
(
0
,
str
.
length
-
1
);
if
(
str
.
substr
(
-
1
)
==
'
/
'
)
str
=
str
.
substr
(
0
,
str
.
length
-
1
);
if
(
str
.
substr
(
-
8
)
==
'
?preview
'
)
str
=
str
.
substr
(
0
,
str
.
length
-
8
);
if
(
str
.
lastIndexOf
(
'
/
'
)
>-
1
)
str
=
str
.
substr
(
str
.
lastIndexOf
(
'
/
'
)
+
1
);
var
fileid
=
document
.
getElementById
(
'
file_a
'
+
num
).
attributes
[
'
fileid
'
].
nodeValue
;
}
document
.
getElementById
(
action
+
'
_div
'
).
style
.
display
=
''
;
document
.
getElementById
(
action
+
'
_label
'
).
innerText
=
str
;
//.replace(/&/,'&');
document
.
getElementById
(
action
+
'
_sid
'
).
value
=
num
;
document
.
getElementById
(
action
+
'
_fileid
'
).
value
=
fileid
;
document
.
getElementById
(
action
+
'
_hidden
'
).
value
=
str
;
if
(
action
==
'
rename
'
)
document
.
getElementById
(
action
+
'
_input
'
).
value
=
str
;
var
$e
=
event
||
window
.
event
;
...
...
@@ -1071,9 +1462,9 @@
function
submit_operate
(
str
)
{
var
num
=
document
.
getElementById
(
str
+
'
_sid
'
).
value
;
var
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
"
GET
"
,
'
?
'
+
serializeForm
(
str
+
'
_form
'
)
);
xhr
.
setRequestHeader
(
'
x-requested-with
'
,
'
XMLHttpRequest
'
);
xhr
.
se
nd
(
null
);
xhr
.
open
(
"
POST
"
,
''
);
xhr
.
setRequestHeader
(
"
Content-Type
"
,
"
application/x-www-form-urlencoded;charset=utf-8
"
);
xhr
.
se
tRequestHeader
(
'
x-requested-with
'
,
'
XMLHttpRequest
'
);
xhr
.
onload
=
function
(
e
){
var
html
;
if
(
xhr
.
status
<
300
)
{
...
...
@@ -1089,10 +1480,12 @@
html
=
JSON
.
parse
(
xhr
.
responseText
);
addelement
(
html
);
}
//alert('success');
}
else
alert
(
xhr
.
status
+
'
\n
'
+
xhr
.
responseText
);
document
.
getElementById
(
str
+
'
_div
'
).
style
.
display
=
'
none
'
;
document
.
getElementById
(
'
mask
'
).
style
.
display
=
'
none
'
;
}
xhr
.
send
(
serializeForm
(
str
+
'
_form
'
));
return
false
;
}
function
addelement
(
html
)
{
...
...
@@ -1106,15 +1499,16 @@
a1
.
target
=
'
_blank
'
;
var
td2
=
document
.
createElement
(
'
td
'
);
td2
.
setAttribute
(
'
class
'
,
'
updated_at
'
);
td2
.
innerText
=
html
.
lastModifiedDateT
ime
.
replace
(
/T/
,
'
'
).
replace
(
/Z/
,
''
);
if
(
!!
html
.
time
)
td2
.
innerText
=
html
.
t
ime
.
replace
(
/T/
,
'
'
).
replace
(
/Z/
,
''
);
var
td3
=
document
.
createElement
(
'
td
'
);
td3
.
setAttribute
(
'
class
'
,
'
size
'
);
td3
.
innerText
=
size_format
(
html
.
size
);
if
(
!!
html
.
folder
)
{
if
(
!!
html
.
size
)
td3
.
innerText
=
size_format
(
html
.
size
);
else
td3
.
innerText
=
'
0 B
'
;
if
(
html
.
type
==
'
folder
'
)
{
a1
.
href
+=
'
/
'
;
document
.
getElementById
(
'
tr0
'
).
parentNode
.
insertBefore
(
tr1
,
document
.
getElementById
(
'
tr0
'
).
nextSibling
);
}
if
(
!!
html
.
file
)
{
if
(
html
.
type
==
'
file
'
)
{
a1
.
href
+=
'
?preview
'
;
a1
.
name
=
'
filelist
'
;
document
.
getElementById
(
'
tr0
'
).
parentNode
.
appendChild
(
tr1
);
...
...
@@ -1188,18 +1582,11 @@
}
<!--
IsFolderEnd
-->
<!--
AdminEnd
-->
<!--
LoginStart
-->
function
login
()
{
document
.
getElementById
(
'
mask
'
).
style
.
display
=
''
;
//document.getElementById('mask').style.width=document.documentElement.scrollWidth+'px';
document
.
getElementById
(
'
mask
'
).
style
.
height
=
document
.
documentElement
.
scrollHeight
<
window
.
innerHeight
?
window
.
innerHeight
:
document
.
documentElement
.
scrollHeight
+
'
px
'
;
document
.
getElementById
(
'
login_div
'
).
style
.
display
=
''
;
document
.
getElementById
(
'
login_div
'
).
style
.
left
=
(
document
.
body
.
clientWidth
-
document
.
getElementById
(
'
login_div
'
).
offsetWidth
)
/
2
+
'
px
'
;
document
.
getElementById
(
'
login_div
'
).
style
.
top
=
(
window
.
innerHeight
-
document
.
getElementById
(
'
login_div
'
).
offsetHeight
)
/
2
+
document
.
body
.
scrollTop
+
'
px
'
;
document
.
getElementById
(
'
login_input
'
).
focus
();
}
<!--
LoginEnd
-->
<!--
EncryptedStart
-->
document
.
getElementById
(
'
password1
'
).
focus
();
<!--
EncryptedEnd
-->
</script>
<script
src=
"//unpkg.zhimg.com/ionicons@4.4.4/dist/ionicons.js"
></script>
<!--LoginStart-->
<script
src=
"https://cdn.bootcss.com/js-sha1/0.6.0/sha1.min.js"
></script>
<!--LoginEnd-->
<!--customScript-->
</html>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录