-
资源下载(3)——显示下载的文件大小并写入本地资源信息文件
2020-04-28 00:12:31 -
Android保存的文件显示到文件管理的最近文件和下载列表中的方法
2020-08-25 03:17:32记录的是Android中如何把我们往存储中写入的文件,如何显示到文件管理的下载列表、最近文件列表中,需要的朋友可以参考下 -
实现文件导出,写入等进度条实时显示
2018-08-16 16:54:112、将解压后文件夹中的js,css文件拷贝到项目中对应的css,js文件中。 3、引入js和css <link rel="stylesheet" href="css/jquery.circliful.css"/> <script type="...1、首先需要下载进度条插件,网址链接如右 http://www.jq22.com/jquery-info436
2、将解压后文件夹中的js,css文件拷贝到项目中对应的css,js文件中。
3、引入js和css
<link rel="stylesheet" href="css/jquery.circliful.css"/> <script type="text/javascript" src="js/jquery.circliful.min.js"></script>
4、编写进度条的样式
#Mask { position: absolute; top: 0px; filter: alpha(opacity=60); background-color: #333; z-index: 1002; left: 0px; opacity:0.5; -moz-opacity:0.5; } #Progress{ position: absolute; top: 36%;left:43%;z-index: 2000;color:#6633CC; } #Progress .circle-info{ color:#6633CC; }
5、前台div编写
<!-- Mask是遮罩,Progress是进度条 --> <div> <div id="Mask"></div> <div id="Progress" data-dimension="200" data-text="0%" data-info="导出进度" data-width="15" data-fontsize="30" data-percent="0" data-fgcolor="#22eeee" data-bgcolor="#6633CC"></div> </div>
6、编写进度条的显示和隐藏函数
//显示进度条 var isFirstExport=true; function showProgress(){ $("#Mask").css("height",$(document).height()); $("#Mask").css("width",$(document).width()); $("#Mask").show(); if(isFirstExport){ $("#Progress").circliful(); }else{ $("#Progress .circle-text").text("0%"); $("#Progress .circle-info").text("导出进度"); $("#Progress").show(); } } //隐藏进度条 function hideProgress(){ $("#Mask").hide(); $("#Progress").hide(); }
7、在导出的地方写入当前进度,并储存在session中
public void exportCSV(HttpServletRequest request,String rootPath, String title, String[] headers, List<LinkedHashMap<String, Object>> dataset, OutputStream out) { try { System.out.println(rootPath); CsvWriter csvWriter = new CsvWriter(rootPath,',', Charset.forName("UTF-8")); //写入表头信息 csvWriter.writeRecord(headers); //写入内容信息 for(int k=0;k<dataset.size();k++){ curcount++; LinkedHashMap<String, Object> infos=dataset.get(k); String agent_id=infos.get("agent_id").toString(); String extension=infos.get("extension").toString(); String starttime=infos.get("starttime").toString(); String endtime=infos.get("endtime").toString(); String info=infos.get("info").toString(); csvWriter.write(agent_id); csvWriter.write(extension); csvWriter.write(starttime); csvWriter.write(endtime); csvWriter.write(info); csvWriter.endRecord(); //导出的进度条信息 double dPercent=(double)curcount/totalCount; //将计算出来的数转换成double int percent=(int)(dPercent*100); //再乘上100取整 request.getSession().setAttribute("curCount", curcount); request.getSession().setAttribute("percent", percent); //比如这里是50 request.getSession().setAttribute("percentText",percent+"%");//这里是50% }
8、在Controller中编写一个方法,用于实时刷新进度条
/** * 进度条刷新,数据从session当中取 */ @ResponseBody @RequestMapping(value = "/flushProgress.html") public String flushProgress3(HttpServletRequest request) throws Exception { HashMap<String,Object> map=null; try { HttpSession session = request.getSession(); map=new HashMap<String, Object>(); map.put("totalCount",request.getSession().getAttribute("totalCount")); //总条数 map.put("curCount", request.getSession().getAttribute("curCount")); //已导条数 map.put("percent", request.getSession().getAttribute("percent")); //百分比数字 map.put("percentText", request.getSession().getAttribute("percentText")); //百分比文本 /// System.out.println(map.toString()); } catch (Exception e) { e.printStackTrace(); } return JSON.toJSONString(map); }
9、前台调用进度条接口,并设定实时刷新
var data = { 'fromTime':starttime, 'toTime':endtime, } //写入数据 $.ajax( { type : "GET", url: "${pageContext.request.contextPath}/Datecount.html", data:data, dataType: "json", contentType: "application/x-www-form-urlencoded; charset=utf-8", success : function(msg) { if(msg>150000){ alert('数据量超过20万条,请缩短起始时间间隔 !'); } else if(msg>0){ // $('#loadding').removeClass('hidden'); var url="${pageContext.request.contextPath}/excelData.html?fromTime="+encodeURI(starttime)+"&toTime="+encodeURI(endtime); window.location.href=url; /*** 进度条的显示 */ showProgress(); window.setTimeout(function(){ var timer=window.setInterval(function(){ $.ajax({ type:'post', dataType:'json', url:"${pageContext.request.contextPath}/flushProgress.html", success: function(data) { $("#Progress .circle-text").text(data.percentText); if(data.index===undefined||data.totalCount===undefined){ $("#Progress .circle-info").text("导出进度"); //hideProgress(); } else{ $("#Progress .circle-info").text("导出进度:"+data.index+"/"+data.totalCount); } if(data.percent=="100"){ window.clearInterval(timer); hideProgress(); } }, error:function(data){ hideProgress(); } }); },800); },800); isFirstExport=false; } else{ alert("该时间段数据信息尚未同步"); } }, error:function(){ hideProgress(); } }); }
到此进度条顺利完工
-
Python HTTP下载文件并显示下载进度条功能的实现
2021-01-20 01:40:36下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条。 其中利用request模块下载文件可以直接下载,不需要使用open方法,例如: import urllib import requests.packages.... -
Python HTTP下载文件并显示下载进度条
2017-11-08 18:01:00下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条。 其中利用request模块下载文件可以直接下载,不需要使用open方法,例如: 1 2 3 4 5 6 7 importurllib ...下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条。
其中利用request模块下载文件可以直接下载,不需要使用open方法,例如:
1234567import
urllib
import
requests.packages.urllib3
requests.packages.urllib3.disable_warnings()
url =
"https://raw.githubusercontent.com/racaljk/hosts/master/hosts"
urllib.urlretrieve(url, filename=
"hosts"
)
下面的例子是题目中完整的例子,其中注释的部分是进度条的另一种写法,显示当前处理过的行数。
1234567891011121314151617181920212223242526272829303132333435363738394041#!/usr/bin/python
# encoding: utf-8
# -*- coding: utf8 -*-
""
"
Created by PyCharm.
File: LinuxBashShellScriptForOps:download_file2.py
User: Guodong
Create Date: 2016
/9/14
Create Time: 9:40
""
"
import
requests
import
progressbar
import
requests.packages.urllib3
requests.packages.urllib3.disable_warnings()
url =
"https://raw.githubusercontent.com/racaljk/hosts/master/hosts"
response = requests.request(
"GET"
, url, stream=True, data=None, headers=None)
save_path =
"/tmp/hosts"
total_length = int(response.headers.get(
"Content-Length"
))
with
open
(save_path,
'wb'
) as f:
# widgets = ['Processed: ', progressbar.Counter(), ' lines (', progressbar.Timer(), ')']
# pbar = progressbar.ProgressBar(widgets=widgets)
# for chunk in pbar((i for i in response.iter_content(chunk_size=1))):
# if chunk:
# f.write(chunk)
# f.flush()
widgets = [
'Progress: '
, progressbar.Percentage(),
' '
,
progressbar.Bar(marker=
'#'
, left=
'['
, right=
']'
),
' '
, progressbar.ETA(),
' '
, progressbar.FileTransferSpeed()]
pbar = progressbar.ProgressBar(widgets=widgets, maxval=total_length).start()
for
chunk
in
response.iter_content(chunk_size=1):
if
chunk:
f.write(chunk)
f.flush()
pbar.update(len(chunk) + 1)
pbar.finish()
运行结果:
--end--
本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1852709,如需转载请自行联系原作者
-
python实现http下载文件-Python HTTP下载文件并显示下载进度条功能的实现
2020-11-01 12:40:13下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条。其中利用request模块下载文件可以直接下载,不需要使用open方法,例如:import urllibimport requests.packages....下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条。
其中利用request模块下载文件可以直接下载,不需要使用open方法,例如:
import urllib
import requests.packages.urllib3
requests.packages.urllib3.disable_warnings()
url = "https://raw.githubusercontent.com/racaljk/hosts/master/hosts"
urllib.urlretrieve(url, filename="hosts")
下面的例子是题目中完整的例子,其中注释的部分是进度条的另一种写法,显示当前处理过的行数。
#!/usr/bin/python
# encoding: utf-8
# -*- coding: utf8 -*-
"""
Created by PyCharm.
File: LinuxBashShellScriptForOps:download_file2.py
User: Guodong
Create Date: 2016/9/14
Create Time: 9:40
"""
import requests
import progressbar
import requests.packages.urllib3
requests.packages.urllib3.disable_warnings()
url = "https://raw.githubusercontent.com/racaljk/hosts/master/hosts"
response = requests.request("GET", url, stream=True, data=None, headers=None)
save_path = "/tmp/hosts"
total_length = int(response.headers.get("Content-Length"))
with open(save_path, 'wb') as f:
# widgets = ['Processed: ', progressbar.Counter(), ' lines (', progressbar.Timer(), ')']
# pbar = progressbar.ProgressBar(widgets=widgets)
# for chunk in pbar((i for i in response.iter_content(chunk_size=1))):
# if chunk:
# f.write(chunk)
# f.flush()
widgets = ['Progress: ', progressbar.Percentage(), ' ',
progressbar.Bar(marker='#', left='[', right=']'),
' ', progressbar.ETA(), ' ', progressbar.FileTransferSpeed()]
pbar = progressbar.ProgressBar(widgets=widgets, maxval=total_length).start()
for chunk in response.iter_content(chunk_size=1):
if chunk:
f.write(chunk)
f.flush()
pbar.update(len(chunk) + 1)
pbar.finish()
运行结果:
到此这篇关于Python HTTP下载文件并显示下载进度条功能的实现的文章就介绍到这了,更多相关python下载文件显示进度条内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
-
Node.js中实时显示下载进度并解压文件
2018-03-31 19:57:04progress-stream,用来显示进度信息 unzip,用来解压缩 fs,用来创建读写流 该功能的流程是: 创建写入流 fs.createWriteStream 请求zip文件 request.get(options) 在request请求的回调函数中... -
java pdf写入中文时不显示,如何解决。
2015-12-07 11:26:22只下载iText5.0.6.jar文件是不能写入中文到pdf文件,同时需要iTextAsian.jar 但是我们在使用这2个jar文件的时候仍然发现一个问题,只能设置windos自带的文字库才能把中文写入: 例子:BaseFont baseFont = BaseFont... -
python写入csv文件追加数据-python操作csv文件:读取、写入、末行追加
2020-11-11 14:24:22csv文件与txt文件类似,区别点就是在csv文件中,字段间使用“,”或“|”隔开,达到类似与表格的效果。csv文件可以使用记事本打开(打开可见分隔符“,”),也可使用excel打开(打开以表格形式显示,看不见分隔符)。... -
云桌面可附加桌面文件的程序_怎样下载日历到手机桌面上显示?桌面云便签提醒事项可同步写入日历...
2020-11-20 21:49:58有很多人每天都会忘记打开日历查看日程,于是就有越来越多的人想要下载日历到手机桌面上直接显示。那么怎样下载日历到手机桌面上呢?其实我们很多手机自带的系统日历都是可以添加到手机桌面上的,就拿华为(荣耀)手机... -
Python 多线程下载文件及注意事项和单线程下载带进度条显示
2020-05-18 18:17:35从网上找了几个代码,试了一下发现有些奇怪的问题,刚开始不知道线程锁,线程安全,颇为苦恼的查了一些资料,最终调试成功,工具还是有一些不完美的,比如没有用Sterm=True模式写硬盘,而是从内存中写入文件,下载文件超过... -
机械硬盘显示位置不可用无法访问介质受写入保护
2021-01-11 14:18:12硬盘在使用的过程中会出现各种奇怪的错误,比如小编今天碰到的一个,打开分区提示位置不可用无法访问介质受写入...步骤2:程序扫描到文件后,会放到与要恢复盘卷标名相同的目录中 步骤3:将想要恢复的资料打钩,然后 -
单张、批量识别图片中文字(写入txt文件、窗口视图创建、打包.exe文件)(百度文字识别SDK+Python的GUI之...
2020-12-21 18:24:20我就找了找批量识别的软件,下载下来觉得:嗯?不错,界面也挺好,小东西做的还挺别致。但是,识别三张就停止了,提示非最新版本要联系客服升级之类的,妥妥的套路,果断删除。又找了一个,嗯?界面更加好看一点儿... -
python文件上传下载_Django实现文件上传下载
2020-12-11 09:47:02供大家参考,具体内容如下一、django实现文件下载(1)、后台接口如果从服务器直接将文件路径传给浏览器,普通文件可以直接下载,而图片,html,css和pdf格式等文件会直接显示,所以解决办法就是在头文件中让文件流写入硬盘... -
Django实现文件上传下载
2021-01-01 03:43:03如果从服务器直接将文件路径传给浏览器,普通文件可以直接下载,而图片,html,css和pdf格式等文件会直接显示,所以解决办法就是在头文件中让文件流写入硬盘. ①、最简单的文件下载功能的实现,直接将文件流放入... -
Android中使用Kotlin协程(Coroutines)和Retrofit进行网络请求(二)之文件下载
2019-02-15 14:08:49今天我们要通过kotlin协程和retrofit来是实现文件下载的功能.retorfit本身可以将请求结果以InputStream的形式返回,拿到InputStream,我们再将数据写入文件的outputStream,就可以实现文件的下载了.在java时我们也是... -
javaWeb实现文件上传与下载
2019-10-02 09:56:42因为要下载的文件可以是各种类型的文件,所以要将文件传送给客户端,其相应内容应该被当做二进制来处理,所以应该调用 方法返回 ServeltOutputStream对象来向客户端写入文件内容。 下载案例 遍历上传目录下的... -
php文件上传、下载和删除示例
2021-01-21 15:52:292.把显示文件的区域做出来 div2 3.提交表单,上传文件 4.服务器接收文件数据 用$_FILE[name]接收 5.处理数据,看上传文件是否有错误 错误有如下几种: 1).上传的文件超过了 php.ini 中 upload_max_filesize ... -
用双向链表制作学生成绩管理系统,从文件下载记录输出乱码,排序没有显示结果?
2018-11-30 13:30:50} /*向文件中写入节点数据;*/ } else printf("Please make sure the data is not NULL!!"); fclose(fp); printf("存盘成功!!!\n"); } void sort(dnode * head)//排序 { dnode *p,*pre,*q; p=... -
读取网络图片下载到SD卡并显示在ImageView中
2015-06-04 13:17:491 用文件输出流把网络获取的文件写入 FileOutputStream fos = new FileOutputStream(shen); byte[] b = new byte[2 * 1024]; int len; if (bis != null) { while ((len = bis.read(b)) != -1) { fos.write(b, 0, ... -
mysql sort aborted_mysql排序中断(Sort aborted)-mysql临时文件无法写入
2021-01-19 09:13:02类型:密码相关大小:617KB语言:中文 评分:7.5标签:立即下载今天一台win2003的统计服务器,出现了统计失败,mysql错误日志显示:mysqld-nt.exe: Sort aborted,大概是说 mysql排序中断。google了一下:Sort ... -
Java_常瑞鹏 实现文件上传与下载
2019-10-02 09:56:43因为要下载的文件可以是各种类型的文件,所以要将文件传送给客户端,其相应内容应该被当做二进制来处理,所以应该调用 方法返回 ServeltOutputStream对象来向客户端写入文件内容。 下载案例 遍历上传目录下的... -
MFC将视图文件保存到PPT中
2012-08-14 18:21:12MFC将视图文件保存到PPT中 源代码下载:http://download.csdn.net/detail/nuptboyzhb/4499649 借助微软提供的msppt.h 和 msppt.cpp文件,来开发有关ppt方面的软件。...再将保存的位图文件写入到ppt -
java 下载处于挂起状态_Java文件下载挂起
2021-02-26 11:17:24我的代码工作正常,除非文件大小变得非常大(例如超过200 MB),它在浏览器中挂起显示0%已下载并且永远不会下载文件.当我在while循环中移动flush()方法时,它也适用于大文件.我不确定将flush()放入循环是否有问题.不知道...