fly63前端网

www.fly63.com

首页文章资源工具教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

关闭

提交网站

anyupload
分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/dianbaer/anyupload
网站描述:一个极度纯净的上传插件

anyupload是一个极度纯净的上传插件,通过简单调整就可以融入到任何项目,支持多文件上传、上传速率动态控制、真实进度监控kb/s、分块生成MD5、分块上传、MD5校验秒传、暂停、取消等。仅需1000行代码  


AnyUploadClient(1000行代码)

|--js(js库)
	|--anyupload(anyupload文件夹)
		|--css(anyupload css)
		|--dist(anyupload js打包版本)
		|--images(anyupload image)
		|--src(anyupload js未打包版本)
			|--FileConfig.js(配置)
	|--lib(依赖js)
		|--jquery.min.js
		######################################
		|--juggle-all.js(解耦合的工具库ALL IN ONE:https://github.com/dianbaer/juggle)
		或
		|--juggle-help.js
		|--juggle-event.js
		|--juggle-juggler.js    (解耦合的工具库small require:https://github.com/dianbaer/juggle)
		|--juggle-http.js
		|--juggle-mv.js
		######################################
		|--spark-md5.js(用于分块计算md5)
|--index.html(示例启动项目)


AnyUploadServer(899行代码)

|--src(服务器代码)
	|--CommonConfig.java(配置)
|--protobuf(消息包生成工具)


AnyUploadClient怎么使用:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <!--juggle库 all in one-->
    <!--
    <script src="js/lib/juggle-all.js" type="text/javascript"></script>
    -->
    <!--juggle库 small require-->
    <script src="js/lib/juggle-help.js" type="text/javascript"></script>
    <script src="js/lib/juggle-event.js" type="text/javascript"></script>
    <script src="js/lib/juggle-juggler.js" type="text/javascript"></script>
    <script src="js/lib/juggle-http.js" type="text/javascript"></script>
    <script src="js/lib/juggle-mv.js" type="text/javascript"></script>
    <!--分块生成md5-->
    <script src="js/lib/spark-md5.js" type="text/javascript"></script>
    <script src="js/lib/jquery.min.js" type="text/javascript"></script>
    <link href='js/anyupload/css/anyupload.css' rel='stylesheet' type='text/css'/>
    <!--anyupload库-->
    <script src="js/anyupload/dist/anyupload.js" type="text/javascript"></script>

</head>
<script type="text/javascript">
    var fileMediator;
    /**
     * 选择文件时的响应
     * @param e
     */
    var uploadFileButtonChange = function (e) {
        if (!("FileReader" in window) || !("File" in window)) {
            alert("您的浏览器不支持html5,请使用google,firefox,ie10等浏览器");
            return;
        }
        var files = e.target.files;
        //调用anyupload上传函数
        fileMediator.upLoadFile(files);
        //清空上传按钮的内容
        $("#uploadFileButton").val("");
    };
    window.onload = function () {
        /****初始化anyupload开始*****/
        fileMediator = new anyupload.FileMediator();
        //设置anyupload的容器对象
        fileMediator.initView($("#anyUploadContainer"));
        //设置anyupload的上传地址
        anyupload.uploadFileProxy.url = "http://localhost:8080/AnyUploadServer/s";
        /****初始化anyupload结束*****/
        $("#uploadFileButton").on("change", uploadFileButtonChange);

    }
</script>
<body>
<!--上传按钮-->
<input type="file" class="myFile_PJY" multiple="multiple" id="uploadFileButton"
       style="margin-left: 50px;margin-top: 20px"/>
<!--anyupload容器div-->
<div id="anyUploadContainer" style="width: 800px;margin-top: 50px;"></div>
</body>
</html>


AnyUploadClient js源码打包

cd AnyUploadClient/js/anyupload

npm install -g grunt-cli

npm install

grunt


AnyUploadServer怎么使用

如果测试,直接启动AnyUploadServer即可,不需要修改配置

如果融入其他项目,按照AnyUploadServer代码示例需要提供两个接口

message MD5CheckC{
	string hOpCode=1;
	string fileBaseMd5=2;//md5
	string userFileName=3;//文件名
	string userFoldParentId=4;//父类文件夹id
	int64 fileBaseTotalSize=5;//文件总大小
	string userFileId=6;//文件id
}
message MD5CheckS{
	string hOpCode=1;
	int32 result=2;//结果1:秒传,2:可以上传
	int64 fileBasePos=3;//开始位置
	int32 uploadMaxLength=4;//一次上传最大长度
	string userFileId=5;//文件id
}
message UploadFileC{
	string hOpCode=1;
	string userFileId=2;//文件id
	int64 fileBasePos=3;//开始位置
	int32 uploadLength=4;//上传的长度
}
message UploadFileS{
	string hOpCode=1;
	int32 result=2;//结果1:秒传,2:可以上传,3上传完成
	int64 fileBasePos=3;//开始位置
	int32 uploadMaxLength=4;//一次上传最大长度
	string userFileId=5;//文件id
	int32 waitTime=6;//等待时间
}

链接: https://fly63.com/nav/2710

more>>
相关栏目
layer
layer是一款口碑极佳的web弹层组件
点击进入GitHub
iScroll.js
IScroll是移动页面上被使用的一款仿系统滚动插件。
官网GitHub
wangEditor
基于javascript和css开发的 Web富文本编辑器
官网GitHub
ueditor
由百度web前端研发部开发所见即所得富文本web编辑器
官网GitHub
highlight
Highlight.js 是一个用 JavaScript 写的代码高亮插件,在客户端和服务端都能工作。
官网GitHub
UglifyJS
一个js 解释器、最小化器、压缩器、美化器工具集
官网GitHub
lozad.js
高性能,轻量级,可配置的懒加载图片工具
官网GitHub
Sortable.js
简单灵活的 JavaScript 拖放排序插件
官网GitHub
validate.js
表单提供了强大的验证功能,让客户端表单验证变得更简单
官网GitHub
Draggin.js
一款兼容移动手机的js拖拽插件
官网GitHub
lazysizes.js
响应式图像延迟加载JS插件【懒加载】
官网GitHub
cropper.js
通过canvas实现图片裁剪
官网GitHub
clipboard.js
浏览器中复制文本到剪贴板的插件,不需要Flash,仅仅2kb
官网GitHub
siema
轻量级简单的纯 Js轮播插件
官网GitHub
Mermrender
用于生成序列和UML图的RESTful渲染管道
官网GitHub
Editor.js
JSON格式输出数据的富文本和媒体编辑器
官网GitHub

手机预览