使用html5实现文件上传进度条

html

 <div id="file">
      <input type="file" name="ver" id="ver"/>
      <font color="red">*(apk,ipa目前为自动重命名)</font><br />
      <div class="progress"><span class="bgpro"></span></div>
</div>

 

css
<style type="text/css">
    div.progress{width:400px;height:20px;border:1px solid blue;background:#fff;display:none;}
    span.bgpro{display:block;height:20px;background:blue;width:0px;text-align:right;color:#fff;font-size:12px;}
</style>

 

JS

//触发事件
 $(‘#ver‘).change(function() {
      //if 也可以使用try
        if(typeof this.files == ‘undefined‘) {
            alert(‘建议您使用ie9以上非兼容模式或者火狐,谷歌浏览器进行上传可以实时查看上传进度!‘);
        }
        var ver     = this.files[0];
       //获取文件后缀名
        var fixed   = /\.[^\.]+$/.exec(ver.name);
        if(fixed != ‘.apk‘ && fixed != ‘.ipa‘) {
            alert(‘请上传正确类型的文件!‘);
            return false;
        }
//将进度条显示出来
        $(‘div.progress‘).show();
        try {
            var fd      = new FormData();
        }catch(error) {
            alert(‘建议您使用ie9以上非兼容模式或者火狐,谷歌浏览器进行上传可以实时查看上传进度!‘);
        }
        fd.append(‘ver‘,ver);
        try{
//获取xml对象
            var xhr     = new XMLHttpRequest();
        }catch(error) {
            alert(‘建议您使用ie9以上非兼容模式或者火狐,谷歌浏览器进行上传可以实时查看上传进度!‘);
        }
//发送ajax
        xhr.open(‘post‘,"__URL__/uploadFile",true);
        xhr.upload.onprogress = function(ev) {
//进行进度条展示
            var percent = 0;
            if(ev.lengthComputable) {
                percent = 100 * ev.loaded / ev.total;
                percent = parseFloat(percent).toFixed(2);
                $(‘span.bgpro‘).css(‘width‘,percent + ‘%‘).html(percent + ‘%‘);
            }
        };
        xhr.send(fd);
    });

 

PHP
使用tp框架的文件上传
        /*
            版本文件上传
        */
        public function uploadFile() {
            //版本上传
            if($_FILES[‘ver‘][‘name‘] == ‘‘)
                $this->error(‘请上传版本文件!‘);
            //上传
            import("ORG.Net.UploadFile");
            $upload             = new UploadFile();// 实例化上传类
            $upload->maxSize      = -1 ;// 设置附件上传大小
            $upload->allowExts  = array(‘apk‘,‘ipa‘);// 设置附件上传类型
            $upload->savePath     =  C(‘_UPLOAD_URL‘) . ‘Version/‘;// 设置附件上传目录
            $upload->saveRule     = ‘uniqid‘;
            $upload->autoSub     = true;
            if(!$upload->upload()) {// 上传错误提示错误信息
                $this->error($upload->getErrorMsg());
            }else{// 上传成功 获取上传文件信息
                $info =  $upload->getUploadFileInfo();
            }
            return $info[‘ver‘][‘savename‘];
        }

时间: 09-22

使用html5实现文件上传进度条的相关文章

基于HT for Web矢量实现HTML5文件上传进度条

在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传.上传成功了没有,所以今天给大家介绍的内容是通过HT for Web矢量来实现HTML5文件上传进度条,矢量在<矢量Chart图表嵌入HTML5网络拓扑图的应用>一文中已经讲述了关于setCompType()方法的应用,今天我们用setImage()方法充分利用系统中定义好的矢量资源来实现文件上传进度条,我们先来看下效果图: 从效果图可以看到,向服务器上传了一个mp4文件,并在最下方显示

Struts2 文件上传 进度条显示

参考成功博客:http://blog.sina.com.cn/s/blog_bca9d7e80101bkko.html 待测试博客:http://blog.csdn.net/z69183787/article/details/52536255 Struts2 文件上传 进度条显示

JQuery和Servlet实现文件上传进度条,能显示上传速度,上传的百分比等

原文:JQuery和Servlet实现文件上传进度条,能显示上传速度,上传的百分比等 源代码下载地址:http://www.zuidaima.com/share/1550463319542784.htm JQuery和Servlet实现文件上传进度条,能显示上传速度,上传的百分比等

Layui多文件上传进度条

Layui原生upload模块不支持文件上传进度条显示,百度,谷歌找了一下不太适用.后面找到一个别人修改好的JS,替换上去,修改一下页面显示即可使用,一下是部分代码 HTML: <div class="layui-upload"> <button type="button" class="layui-btn layui-btn-normal" id="fileList">选择多文件</button

spring定时任务-文件上传进度条

spring定时任务 导依赖 <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.3</version> </depen

struts2实现文件上传进度条(前端JS+Java)(自我整理)

需要做一个文件上传进度的效果,结合网上资料和自己的实践后,这里做一个整理 步骤如下: 1.重写.自定义JakartaMultiPartRequest类 <span style="font-size:12px;">package com.hikvision.fileUploadProcess.interceptor; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import

ajax文件上传进度条

写在前面: 思路:首先将表单提交servlet,servlet中做文件上传处理,上传的参数封装成对象存入session中,提交到的页面为隐藏的iframe窗口.然后使用ajax异步请求获取session中的对象,并将对象转换成json对象输出出来.当对象状态为上传完成或操作异常时将session中对应的属性清除掉.异步操作的回调函数可以使用var jinduStatus = eval("("+xmlHttp.responseText+")") 的方法将json转换为

实现一个简单的文件上传进度条

新手入门web 文件上传完成 取得的进展 没有进度条只能用文字 不好看  必须是一个进度条  没有艺术 互联网很 进度条 需要图片 有多种帧的 他看上去好麻烦 让自己的单纯 很简单 我没想到这么复杂  共享 jsp页面 <tr> <td width="100">图片</td> <td> <div style="width: 450px;"> <div class="file-box"

layui文件上传进度条(模拟)

1.修改上传组件js(没测) https://blog.csdn.net/weixin_42457316/article/details/81017471 https://www.cnblogs.com/youmingkuang/p/9183528.html https://fly.layui.com/jie/19430/ 1.upload.js 扩展 功能利用ajax的xhr属性实现该功能修改过modules中的upload.js文件功能具体实现:在js文件中添加监听函数 //创建监听函数 v