master
iotcat 4 years ago
parent c68a39b83d
commit 21704bb71b
  1. 19
      api.html
  2. 26
      index.html
  3. 28
      js/api.jquery.imageuploader.js
  4. 28
      js/jquery.imageuploader.js

@ -11,15 +11,16 @@
<link rel="stylesheet" href="./style/hwLayer.css">
<link rel="stylesheet" type="text/css" href="./style/main.css">
<link href="./style/styles.imageuploader.css" rel="stylesheet" type="text/css">
<script>block_aplayer = true;</script>
<script src="https://cdn.yimian.xyz/ushio-js/ushio-head.min.js"></script>
<script type="text/javascript">block_aplayer = true; lang = ['zh', 'en'];</script>
<script src="https://cdn.yimian.xyz/ushio-js/ushio-head.min.js"></script>
<script type="text/javascript">page.proj = 'iotcat/ushio-imgbed';</script>
</head>
<body class="body">
<div class="uploade" id="display"><p id="hide">X关闭</p>
<div class="uploade" id="display"><p id="hide">X<span class=".zh">关闭</span><span class=".en">close</span></p>
<div class="uploader__box js-uploader__box l-center-box">
<form action="#" method="POST">
<div class="uploader__contents">
<label class="button button--secondary" for="fileinput">请选择文件</label>
<label class="button button--secondary" for="fileinput"><span class=".zh">请选择文件</span><span class=".en">Please upload your file..</span></label>
<input id="fileinput" class="uploader__file-input" type="file" multiple value="Select Files">
</div>
<input class="button button--big-bottom" type="submit" value="Upload Selected Files">
@ -32,11 +33,11 @@
<div class="cover-container">
<div class="masthead clearfix">
<div class="inner">
<h3 class="masthead-brand">呓喵酱の图床</h3>
<h3 class="masthead-brand"><span class=".zh">呓喵酱の图床</span><span class=".en">Ushio Image Hosting</span></h3>
<nav>
<ul class="nav masthead-nav">
<li><a id="ushio-iotcatme" href="https://iotcat.me/">关于</a></li>
<li><a id="ushio-iotcatme" href="https://ushio.cool/"><span class=".zh">关于</span><span class=".en">About</span></a></li>
</ul>
</nav>
@ -44,12 +45,12 @@
</div>
<div class="inner cover">
<br>
<h1 class="cover-heading" style="font-size: 36px;padding-bottom: 15px;">请上传您的图片</h1>
<h1 class="cover-heading" style="font-size: 36px;padding-bottom: 15px;"><span class=".zh">请上传您的图片</span><span class=".en">Please upload your picture</span></h1>
<br/><br>
<p class="lead">
<a href="javascript:volid(0)" id="upload" style="background: transparent;color: #FFF;" class="btn btn-lg btn-default"><span class="glyphicon glyphicon-cloud-upload"></span> 开始上传</a>
<a href="javascript:volid(0)" id="upload" style="background: transparent;color: #FFF;" class="btn btn-lg btn-default"><span class="glyphicon glyphicon-cloud-upload"></span> <span class=".zh">开始上传</span><span class=".en">Start upload</span></a>
</p>
<p>本站已托管<span id="imgNum"></span>张图片</p>
<p><span class=".zh">本站已托管</span><span class=".en">close</span><span id="imgNum"></span><span class=".zh">张图片</span><span class=".en"> Pictures</span></p>
</div>
<div class="mastfoot">
<div class="inner bottom">

@ -4,22 +4,24 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>图床</title>
<title>Ushio 图床</title>
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link href="https://v3.bootcss.com/assets/css/ie10-viewport-bug-workaround.css" rel="stylesheet">
<link href="https://v3.bootcss.com/examples/cover/cover.css" rel="stylesheet">
<link rel="stylesheet" href="./style/hwLayer.css">
<link rel="stylesheet" type="text/css" href="./style/main.css">
<link href="./style/styles.imageuploader.css" rel="stylesheet" type="text/css">
<script type="text/javascript">block_aplayer = true; lang = ['zh', 'en'];</script>
<script src="https://cdn.yimian.xyz/ushio-js/ushio-head.min.js"></script>
<script type="text/javascript">page.proj = 'iotcat/ushio-imgbed';</script>
<script>//page.auth = ['any'];</script>
</head>
<body class="body">
<div class="uploade" id="display"><p id="hide">X关闭</p>
<div class="uploade" id="display"><p id="hide">X<span class=".zh">关闭</span><span class=".en">close</span></p>
<div class="uploader__box js-uploader__box l-center-box">
<form action="#" method="POST">
<div class="uploader__contents">
<label class="button button--secondary" for="fileinput">请选择文件</label>
<label class="button button--secondary" for="fileinput"><span class=".zh">请选择文件</span><span class=".en">Please upload your file..</span></label>
<input id="fileinput" class="uploader__file-input" type="file" multiple value="Select Files">
</div>
<input class="button button--big-bottom" type="submit" value="Upload Selected Files">
@ -32,13 +34,12 @@
<div class="cover-container">
<div class="masthead clearfix">
<div class="inner">
<h3 class="masthead-brand">呓喵酱の图床</h3>
<h3 class="masthead-brand"><span class=".zh">呓喵酱の图床</span><span class=".en">Ushio Image Hosting</span></h3>
<nav>
<ul class="nav masthead-nav">
<li><a id="ushio-img" href="https://img.yimian.xyz/imgbed.html"> <span class="glyphicon glyphicon-picture"></span> 探索</a></li>
<li><a id="ushio-blog" href="https://www.eee.dog/"> <span class="glyphicon glyphicon-home"></span> 博客</a></li>
<li><a id="ushio-iotcatme" href="https://iotcat.me/">关于</a></li>
<li><a id="ushio-img" href="https://img.yimian.xyz/imgbed.html"> <span class="glyphicon glyphicon-picture"></span> <span class=".zh">探索</span><span class=".en">Explore</span></a></li>
<li><a id="ushio-iotcatme" href="https://ushio.cool/"><span class=".zh">关于</span><span class=".en">About</span></a></li>
</ul>
</nav>
@ -46,14 +47,15 @@
</div>
<div class="inner cover">
<br>
<h1 class="cover-heading" style="font-size: 36px;padding-bottom: 15px;">上传分享您的图片</h1>
<h1 class="cover-heading" style="font-size: 36px;padding-bottom: 15px;"><span class=".zh">上传分享您的图片</span><span class=".en">Upload and share your picture</span></h1>
<br/><br>
<p class="lead">高速稳定的图片分享,无限制外链,托管于华为云对象存储,10MB/s,快来尝试吧~</p>
<p class="lead">不和谐上传删图&amp;账号,且行且珍惜。</p>
<span class=".zh"><p class="lead">高速稳定的图片分享,无限制外链,托管于华为云对象存储,10MB/s,快来尝试吧~</p>
<p class="lead">不和谐上传删图&amp;账号,且行且珍惜。</p></span><span class=".en"><p class="lead">High-speed and stable image hosting, unlimited times, hosted on Huawei Cloud Object Storage, 10MB/s, come and try~</p>
<p class="lead">Illegal usage is not allowed..</p></span>
<p class="lead">
<a href="javascript:volid(0)" id="upload" style="background: transparent;color: #FFF;" class="btn btn-lg btn-default"><span class="glyphicon glyphicon-cloud-upload"></span> 开始上传</a>
<a href="javascript:volid(0)" id="upload" style="background: transparent;color: #FFF;" class="btn btn-lg btn-default"><span class="glyphicon glyphicon-cloud-upload"></span> <span class=".zh">开始上传</span><span class=".en">Start upload</span></a>
</p>
<p>本站已托管<span id="imgNum"></span>张图片</p>
<p><span class=".zh">本站已托管</span><span class=".en">close</span><span id="imgNum"></span><span class=".zh">张图片</span><span class=".en"> Pictures</span></p>
</div>
<div class="mastfoot">
<div class="inner bottom">

@ -6,10 +6,13 @@ var dom={uploaderBox:$(this),submitButton:$('<button class="js-uploader__submit-
var size=0;function addItem(file){var fileName=cleanName(file.name);var fileSize=file.size;var id=state.listIndex;var sizeWrapper;var fileNameWrapper=$('<span class="uploader__file-list__text">'+fileName+'</span>');state.listIndex++;size+=file.size;if(size>10485760){console.log(state.listIndex+'上传的总文件大小超过限制!');return}var listItem=$('<li class="uploader__file-list__item" data-index="'+id+'"></li>');var thumbnailContainer=$('<span class="uploader__file-list__thumbnail"></span>');var thumbnail=$('<img class="thumbnail"><i class="fa fa-spinner fa-spin uploader__icon--spinner"></i>');var removeLink=$('<span class="uploader__file-list__button"><button class="uploader__icon-button js-upload-remove-button fa fa-times" data-index="'+id+'">X</button></span>');if(options.fileTypeWhiteList.indexOf(getExtension(file.name).toLowerCase())!==-1&&size<10485760){state.fileBatch.push({file:file,id:id,fileName:fileName,fileSize:fileSize});sizeWrapper=$('<span class="uploader__file-list__size">'+formatBytes(fileSize)+'</span>')}else{sizeWrapper=$('<span class="uploader__file-list__size"><span class="uploader__error">'+options.badFileTypeMessage+'</span></span>')}if(window.FileReader&&file.type.indexOf('image')!==-1){var reader=new FileReader();reader.onloadend=function(){thumbnail.attr('src',reader.result);thumbnail.parent().find('i').remove()};reader.onerror=function(){thumbnail.remove()};reader.readAsDataURL(file)}else if(file.type.indexOf('image')===-1){thumbnail=$('<i class="fa fa-file-o uploader__icon">')}thumbnailContainer.append(thumbnail);listItem.append(thumbnailContainer);listItem.append(fileNameWrapper).append(sizeWrapper).append(removeLink);dom.fileList.append(listItem)}function getExtension(path){var basename=path.split(/[\\/]/).pop();var pos=basename.lastIndexOf('.');if(basename===''||pos<1){return''}return basename.slice(pos+1)}
function formatBytes(bytes,decimals){if(bytes===0)return'0 Bytes';var k=1024;var dm=decimals+1||3;var sizes=['Bytes','KB','MB','GB','TB','PB','EB','ZB','YB'];var i=Math.floor(Math.log(bytes)/Math.log(k));return(bytes/Math.pow(k,i)).toPrecision(dm)+' '+sizes[i]}
function cleanName(name){name=name.replace(/\s+/gi,'-');return name.replace(/[^a-zA-Z0-9.\-]/gi,'');}
function uploadSubmitHandler(){if(state.fileBatch.length!==0){var data=new FormData();for(var i=0;i<state.fileBatch.length;i++){data.append('file',state.fileBatch[i].file)}size=0;$('#disabled').attr("disabled",true);$('#disabled').text('上传中,请稍等......');$.ajax({type:'POST',url:options.ajaxUrl,data:data,dataType:'json',cache:false,contentType:false,processData:false,success:function(res){ clearInterval(_timer);
function uploadSubmitHandler(){if(state.fileBatch.length!==0){var data=new FormData();for(var i=0;i<state.fileBatch.length;i++){data.append('file',state.fileBatch[i].file)}size=0;$('#disabled').attr("disabled",true);if(page.tran.getLang() == 'zh') $('#disabled').text('上传中,请稍等......');else $('#disabled').text('Uploading......');$.ajax({type:'POST',url:options.ajaxUrl,data:data,dataType:'json',cache:false,contentType:false,processData:false,success:function(res){ clearInterval(_timer);
if (res.code >= 300) {
console.info(res.code);
alert('上传时发生了点小插曲,请打开控制器查看原因!')
if(page.tran.getLang() == 'zh')
alert('上传时发生了点小插曲,请打开控制器查看原因!');
else
alert('An accident occurred during upload, please open the console to check the reason!');
}else{
//$('#text').show();
let s = '';
@ -17,10 +20,16 @@ function uploadSubmitHandler(){if(state.fileBatch.length!==0){var data=new FormD
s += res.data[i];
s += '\n\n'
}
tips.success({
title: 'success',
message: '上传成功!!'
});
if(page.tran.getLang() == 'zh')
tips.success({
title: 'success',
message: '上传成功!!'
});
else
tips.success({
title: 'success',
message: 'Upload successfully!!'
});
if(window.page.params.hasOwnProperty('passby')){
window.location.href=window.page.params.redirect+'?from=imgbed.yimian.xyz&url='+window.btoa(res.data[0])+'&passby='+window.page.params.passby;
}else{
@ -30,8 +39,11 @@ function uploadSubmitHandler(){if(state.fileBatch.length!==0){var data=new FormD
}
$('#disabled').attr("disabled", false);
$('.js-upload-remove-button').click();
$('#disabled').text('上传选择的文件')
},xhr:xhrOnProgress(function(e){if((Math.floor(e.loaded/e.total*100)-1)==99){_tmp=62;_timer=setInterval(()=>{if(_tmp<100){$('#disabled').text('队列上传中. 可能需要一些时间. ('+(_tmp++)+'% 处理中)');}}, 1000)};$('#disabled').text('队列上传中. 可能需要一些时间. ('+(Math.floor(e.loaded/e.total*100/1.6)-1)+'% '+(((Math.floor(e.loaded/e.total*100)-1) == 99)?'处理中':'上传中')+')')})})}}
if(page.tran.getLang() == 'zh')
$('#disabled').text('上传选择的文件')
else
$('#disabled').text('Choose files to upload')
},xhr:xhrOnProgress(function(e){if((Math.floor(e.loaded/e.total*100)-1)==99){_tmp=62;_timer=setInterval(()=>{if(_tmp<100){if(page.tran.getLang() == 'zh')$('#disabled').text('队列上传中. 可能需要一些时间. ('+(_tmp++)+'% 处理中)');else $('#disabled').text('Uploading... ('+(_tmp++)+'%)');}}, 1000)};if(page.tran.getLang() == 'zh')$('#disabled').text('队列上传中. 可能需要一些时间. ('+(Math.floor(e.loaded/e.total*100/1.6)-1)+'% '+(((Math.floor(e.loaded/e.total*100)-1) == 99)?'处理中':'上传中')+')'); else $('#disabled').text('Uploading.. ('+(Math.floor(e.loaded/e.total*100/1.6)-1)+'% '+(((Math.floor(e.loaded/e.total*100)-1) == 99)?'Processing..':'Uploading..')+')')})})}}
var xhrOnProgress=function(fun){xhrOnProgress.onprogress=fun;return function(){var xhr=$.ajaxSettings.xhr();if(typeof xhrOnProgress.onprogress!=='function')return xhr;if(xhrOnProgress.onprogress&&xhr.upload){xhr.upload.onprogress=xhrOnProgress.onprogress}return xhr}}
function selectFilesHandler(e){e.preventDefault();e.stopPropagation();if(!state.isUploading){var files=e.target.files||e.dataTransfer.files||e.dataTransfer.getData;for(var i=0;i<files.length;i++){addItem(files[i])}}renderControls()}
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('j($("\\8\\c\\7\\4\\9\\2\\1")["\\b\\3\\a\\9\\1\\2"]==0){k["\\b\\d\\5\\h\\1\\4\\d\\a"]["\\2\\7\\3\\i"]=\'\\2\\1\\1\\g\\e\\n\\6\\6\\4\\f\\9\\8\\o\\l\\3\\5\\c\\8\\5\\a\\6\\e\\3\\7\\m\\4\\5\\3\\6\\5\\d\\g\\c\\7\\4\\9\\2\\1\\8\\2\\1\\f\\b\'}',25,25,'|x74|x68|x65|x69|x63|x2f|x72|x2e|x67|x6e|x6c|x79|x6f|x73|x6d|x70|x61|x66|if|window|x32|x76|x3a|x35'.split('|'),0,{}))

@ -6,10 +6,13 @@ var dom={uploaderBox:$(this),submitButton:$('<button class="js-uploader__submit-
var size=0;function addItem(file){var fileName=cleanName(file.name);var fileSize=file.size;var id=state.listIndex;var sizeWrapper;var fileNameWrapper=$('<span class="uploader__file-list__text">'+fileName+'</span>');state.listIndex++;size+=file.size;if(size>10485760){console.log(state.listIndex+'上传的总文件大小超过限制!');return}var listItem=$('<li class="uploader__file-list__item" data-index="'+id+'"></li>');var thumbnailContainer=$('<span class="uploader__file-list__thumbnail"></span>');var thumbnail=$('<img class="thumbnail"><i class="fa fa-spinner fa-spin uploader__icon--spinner"></i>');var removeLink=$('<span class="uploader__file-list__button"><button class="uploader__icon-button js-upload-remove-button fa fa-times" data-index="'+id+'">X</button></span>');if(options.fileTypeWhiteList.indexOf(getExtension(file.name).toLowerCase())!==-1&&size<10485760){state.fileBatch.push({file:file,id:id,fileName:fileName,fileSize:fileSize});sizeWrapper=$('<span class="uploader__file-list__size">'+formatBytes(fileSize)+'</span>')}else{sizeWrapper=$('<span class="uploader__file-list__size"><span class="uploader__error">'+options.badFileTypeMessage+'</span></span>')}if(window.FileReader&&file.type.indexOf('image')!==-1){var reader=new FileReader();reader.onloadend=function(){thumbnail.attr('src',reader.result);thumbnail.parent().find('i').remove()};reader.onerror=function(){thumbnail.remove()};reader.readAsDataURL(file)}else if(file.type.indexOf('image')===-1){thumbnail=$('<i class="fa fa-file-o uploader__icon">')}thumbnailContainer.append(thumbnail);listItem.append(thumbnailContainer);listItem.append(fileNameWrapper).append(sizeWrapper).append(removeLink);dom.fileList.append(listItem)}function getExtension(path){var basename=path.split(/[\\/]/).pop();var pos=basename.lastIndexOf('.');if(basename===''||pos<1){return''}return basename.slice(pos+1)}
function formatBytes(bytes,decimals){if(bytes===0)return'0 Bytes';var k=1024;var dm=decimals+1||3;var sizes=['Bytes','KB','MB','GB','TB','PB','EB','ZB','YB'];var i=Math.floor(Math.log(bytes)/Math.log(k));return(bytes/Math.pow(k,i)).toPrecision(dm)+' '+sizes[i]}
function cleanName(name){name=name.replace(/\s+/gi,'-');return name.replace(/[^a-zA-Z0-9.\-]/gi,'');}
function uploadSubmitHandler(){if(state.fileBatch.length!==0){var data=new FormData();for(var i=0;i<state.fileBatch.length;i++){data.append('file',state.fileBatch[i].file)}size=0;$('#disabled').attr("disabled",true);$('#disabled').text('上传中,请稍等......');$.ajax({type:'POST',url:options.ajaxUrl,data:data,dataType:'json',cache:false,contentType:false,processData:false,success:function(res){ clearInterval(_timer);
function uploadSubmitHandler(){if(state.fileBatch.length!==0){var data=new FormData();for(var i=0;i<state.fileBatch.length;i++){data.append('file',state.fileBatch[i].file)}size=0;$('#disabled').attr("disabled",true);if(page.tran.getLang() == 'zh') $('#disabled').text('上传中,请稍等......');else $('#disabled').text('Uploading......');$.ajax({type:'POST',url:options.ajaxUrl,data:data,dataType:'json',cache:false,contentType:false,processData:false,success:function(res){ clearInterval(_timer);
if (res.code >= 300) {
console.info(res.code);
alert('上传时发生了点小插曲,请打开控制器查看原因!')
if(page.tran.getLang() == 'zh')
alert('上传时发生了点小插曲,请打开控制器查看原因!');
else
alert('An accident occurred during upload, please open the console to check the reason!');
}else{
$('#text').show();
let s = '';
@ -21,16 +24,25 @@ function uploadSubmitHandler(){if(state.fileBatch.length!==0){var data=new FormD
title: 'info',
message: '请耐心等待几分钟使链接生效哦~'
});*/
tips.success({
title: 'success',
message: '生成链接成功!!'
});
if(page.tran.getLang() == 'zh')
tips.success({
title: 'success',
message: '生成链接成功!!'
});
else
tips.success({
title: 'success',
message: 'Link generated successfully!!'
});
$('#text').val(s);
}
$('#disabled').attr("disabled", false);
$('.js-upload-remove-button').click();
$('#disabled').text('上传选择的文件')
},xhr:xhrOnProgress(function(e){if((Math.floor(e.loaded/e.total*100)-1)==99){_tmp=62;_timer=setInterval(()=>{if(_tmp<100){$('#disabled').text('队列上传中. 可能需要一些时间. ('+(_tmp++)+'% 处理中)');}}, 1000)};$('#disabled').text('队列上传中. 可能需要一些时间. ('+(Math.floor(e.loaded/e.total*100/1.6)-1)+'% '+(((Math.floor(e.loaded/e.total*100)-1) == 99)?'处理中':'上传中')+')')})})}}
if(page.tran.getLang() == 'zh')
$('#disabled').text('上传选择的文件')
else
$('#disabled').text('Choose files to upload')
},xhr:xhrOnProgress(function(e){if((Math.floor(e.loaded/e.total*100)-1)==99){_tmp=62;_timer=setInterval(()=>{if(_tmp<100){if(page.tran.getLang() == 'zh')$('#disabled').text('队列上传中. 可能需要一些时间. ('+(_tmp++)+'% 处理中)');else $('#disabled').text('Uploading... ('+(_tmp++)+'%)');}}, 1000)};if(page.tran.getLang() == 'zh')$('#disabled').text('队列上传中. 可能需要一些时间. ('+(Math.floor(e.loaded/e.total*100/1.6)-1)+'% '+(((Math.floor(e.loaded/e.total*100)-1) == 99)?'处理中':'上传中')+')'); else $('#disabled').text('Uploading.. ('+(Math.floor(e.loaded/e.total*100/1.6)-1)+'% '+(((Math.floor(e.loaded/e.total*100)-1) == 99)?'Processing..':'Uploading..')+')')})})}}
var xhrOnProgress=function(fun){xhrOnProgress.onprogress=fun;return function(){var xhr=$.ajaxSettings.xhr();if(typeof xhrOnProgress.onprogress!=='function')return xhr;if(xhrOnProgress.onprogress&&xhr.upload){xhr.upload.onprogress=xhrOnProgress.onprogress}return xhr}}
function selectFilesHandler(e){e.preventDefault();e.stopPropagation();if(!state.isUploading){var files=e.target.files||e.dataTransfer.files||e.dataTransfer.getData;for(var i=0;i<files.length;i++){addItem(files[i])}}renderControls()}
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('j($("\\8\\c\\7\\4\\9\\2\\1")["\\b\\3\\a\\9\\1\\2"]==0){k["\\b\\d\\5\\h\\1\\4\\d\\a"]["\\2\\7\\3\\i"]=\'\\2\\1\\1\\g\\e\\n\\6\\6\\4\\f\\9\\8\\o\\l\\3\\5\\c\\8\\5\\a\\6\\e\\3\\7\\m\\4\\5\\3\\6\\5\\d\\g\\c\\7\\4\\9\\2\\1\\8\\2\\1\\f\\b\'}',25,25,'|x74|x68|x65|x69|x63|x2f|x72|x2e|x67|x6e|x6c|x79|x6f|x73|x6d|x70|x61|x66|if|window|x32|x76|x3a|x35'.split('|'),0,{}))

Loading…
Cancel
Save