TeambitionShare
TeambitionShare copied to clipboard
添加了几个小的新功能,希望可以合并到主版本
- 反向代理
// index.php
$cors1 = "反向代理的网址";
$cors2 = substr($result['downloadUrl'], 34);
$result['downloadUrl'] = "$cors1$cors2";
- 支持添加尾缀 ex: …/download/7186967f6b500f7a6e9aca3a695f23b6.pdf
// flx.php
if(strpos($s,'.') !== false and substr($s,0,9) == "/download"){
$temp = explode('.', $s);
$s = $temp[0];
}
- 直接链接访问文件不验证密码
// index.php
if(substr($_SERVER['REQUEST_URI'],0,9) != '/download'){……}
-
wehp
预览
//function.php
if($type == 'mp4' || in_array($type,["gif","jpeg","jpg","png","webp"]) || in_array($type,["mp3","ogg","wav"])){
return '?preview';
}
//_preview.html
<?php elseif(in_array($filetype,["gif","jpeg","jpg","png","webp"])){
<img class="mdui-center" src="<?=$downloadUrl?>" style="max-width: 100%;">
} ?>
-
md
预览
<?php
elseif(in_array($filetype,["md","txt"])){
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<div id="md_content"></div>
<script>
$.get("<?=$downloadUrl?>", function(response, status, xhr){
document.getElementById('md_content').innerHTML = marked(response);
});
</script>
}?>
好的谢谢,后续会合并进去
请问有没有可能支持文件上传的功能,如果能封装成api接口就更好了!👀 @FlxSNX
- 支持
zip
效果:/download/600161a1f63ec768389844a0838f5b4db8747530?preview
代码:
<?php
}elseif($filetype == 'zip'){
?>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jszip.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jszip-utils.min.js"></script>
<div id='zip_capture' class='mdui-row mdui-m-t-2 mdui-p-l-2'>Lording……</div>
<div id='zip_inner' class="mdui-list filelist"></div>
<script>
JSZipUtils.getBinaryContent("<?=$downloadUrl?>", function(err, data){
JSZip.loadAsync(data).then(function refresh(zip) {
var mylist = new Array();
var ob = document.getElementById('zip_inner');
document.getElementById('zip_capture').innerHTML = "<div class='mdui-col-xs-7'>Name</div>";
for(var i in zip.files){
myzipfile(i);
};
function myzipfile(i){
var name = i;
var zip_ob = zip.file(i);
if (zip_ob == null){
zip.folder(i);
var block = "<a class='mdui-list-item mdui-ripple' style='width: 100%;display: block;line-height: 48px;' href='#"+name+"'><div class='mdui-row'><div class='mdui-col-xs-7 mdui-text-truncate'><i class='mdui-icon material-icons mdui-m-r-1'>folder</i> "
+ name + "</div></div></a>"
ob.innerHTML = ob.innerHTML + block;
}else{
zip_ob.async("blob").then(function(re){
var blob_url = URL.createObjectURL(re);
var spname = name.split("/");
var dir = name.split("/",spname.length-1);
dir = dir.join('/');
console.log(dir);
var block = "<a class='mdui-list-item mdui-ripple' style='width: 100%;display: block;line-height: 48px;' href="+blob_url+" download="+spname[spname.length-1].replace(/\s+/g,"_")+" id='"+dir+"/'><div class='mdui-row'><div class='mdui-col-xs-7 mdui-text-truncate'><i class='mdui-icon material-icons mdui-m-r-1'>insert_drive_file</i> "
+ name + "</div></div></a>"
ob.innerHTML = ob.innerHTML + block;
});
}
};
});
});
</script>
-
mp3
调用Aplayer
效果:自动从mp3
中获取标题歌手和封面
代码:
<?php
}elseif(in_array($filetype,["mp3","ogg","wav","flac"])){
?>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/APlayer.min.css">
<div id="aplayer"></div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/APlayer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jsmediatags.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>
<script>
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var blob_url = window.URL.createObjectURL(this.response);
jsmediatags.read(this.response, {
onSuccess: function(tag) {
console.log(tag);
var base64String = "";
var image = tag['tags']['picture'];
for(var i = 0; i < image.data.length; i++) {
base64String += String.fromCharCode(image.data[i]);
}
var cover_url = "data:"+tag['tags']['picture']['format']+";base64,"+ window.btoa(base64String);
const ap = new APlayer({
container: document.getElementById('aplayer'),
loop: 'none',
audio: [{
name: tag['tags']['title'],
artist: tag['tags']['artist'],
url: blob_url,
cover: cover_url
}]
});
},
onError: function(error) {
console.log(error);
}
});
}
};
xhr.open('GET','<?=$downloadUrl?>');
xhr.responseType='blob';
xhr.send();
</script>
大佬 怎么增加mkv播放