TeambitionShare icon indicating copy to clipboard operation
TeambitionShare copied to clipboard

添加了几个小的新功能,希望可以合并到主版本

Open ghost opened this issue 4 years ago • 6 comments

  • 反向代理
// 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%;">
} ?>

ghost avatar Jan 11 '21 03:01 ghost

  • 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>
}?>

ghost avatar Jan 11 '21 14:01 ghost

好的谢谢,后续会合并进去

FlxSNX avatar Jan 11 '21 14:01 FlxSNX

请问有没有可能支持文件上传的功能,如果能封装成api接口就更好了!👀 @FlxSNX

ghost avatar Jan 12 '21 03:01 ghost

  • 支持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>

ghost avatar Jan 15 '21 09:01 ghost

  • 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>

ghost avatar Jan 15 '21 09:01 ghost

大佬 怎么增加mkv播放

iambestt avatar Feb 08 '21 04:02 iambestt