hbuilder项目总结:下载附件判断是否打开并在本地管理已下载附件
来源:互联网 发布:养生网站源码带手机站 编辑:程序博客网 时间:2024/05/16 10:05
———1. 下载附件
此处涉及到文件是否第一次下载
var dtask = plus.downloader.createDownload(loadUrl, {filename:relativePath}, function(d, status) { // 下载完成 //alert("执行") if(status == 200) { var index = d.filename .lastIndexOf("\/"); var name = d.filename .substring(index + 1, d.filename .length); /*localStorage.removeItem("fileList"); return;*/ console.log(loadUrl) var myDate = new Date(); console.log(myDate) var file = '{"date":"' + myDate.toLocaleString() + '","id":"' + d.filename + '","name":"' + name + '"}'; console.log(file) var file1 = localStorage.getItem("fileList"); console.log("size========="+file1); // return; console.log(file1); if(file1 != null) { //不是第一次下载文件 //判断是否已经存在 console.log("jinru"); file=file+","+file1; console.log(file); localStorage.setItem("fileList", file); console.log("filealist="+localStorage.getItem("fileList")); } else { var jsonList=[]; var jsonarray = eval(jsonList);//定义追加格式 jsonarray.push(file); var files=JSON.stringify(jsonarray); localStorage.setItem("fileList", file); //第一次下载文件存储字符串 } var btnArray = ['否', '是']; //弹框消息确认是否打开附件 mui.confirm('是否打开附件查看?', '下载成功', btnArray, function(e) { if(e.index == 1) { //打开附件 plus.runtime.openFile( d.filename, {}, function(e) { plus.nativeUI.alert("无法打开此文件:" + e.emssage); }); } else { //不打开 } }) } else { plus.nativeUI.toast("下载失败!"); } });
——————-2.打开文件
plus.runtime.openFile( d.filename, {}, function(e) { plus.nativeUI.alert("无法打开此文件:" + e.emssage); });
——————3.本地管理已经下载附件
hbuilder下载目录默认为_download下
在获取文件目录时区分mui已经提供的方法,本地采用获取本地缓存的方式获得
var filelist=localStorage.getItem("fileList");var jsonList="["+filelist+"]";console.log("jsonList="+jsonList);console.log("jsonList="+jsonList);var files = $.parseJSON(jsonList);//将之前的文件转换为jsonmui.each(files, function(i, backlog) { console.log("backlog="+backlog) tt +=' <li class="mui-table-view-cell">'; tt += '<div class="mui-table" onclick="look(\'' + backlog.id + '\');">'; tt += ' <div class="mui-table-cell mui-col-xs-10">'; tt +=' <h4 class="mui-ellipsis">'; //tt +='<li class="mui-table-view-cell" onclick="look(\'' + backlog.id + '\');"><div class="mui-slider-right mui-disabled"><a class="mui-btn mui-btn-red">删除</a></div><div class="mui-slider-handle mui-table"><div class="mui-table-cell">' tt += backlog.name; tt +='</h4>'; tt +=' <h5>'; tt +='来自:' tt += backlog.title; tt += '</h5>'; tt += '</div>'; tt +=' <div class="mui-table-cell mui-col-xs-4 mui-text-right">'; tt +='<span class="mui-h5">'; tt += backlog.date; tt += '<input type="hidden" id="inner" value="' + backlog.id + ';">'; tt +='</div>'; tt +='</div>'; tt+='<div>' tt += '<button style="float:right" type="button" class="mui-btn mui-btn-danger mui-btn-outlined" onclick="del(\'' + backlog.id + '\');">'; tt +=''; tt +='<span class="mui-icon mui-icon-trash"></span></button>' tt +='</div>'; tt +='</li>'; }); $("#listCenterColumn").html(tt);
删除功能:先删除本地缓存中数据,再删除系统文件,暂时不涉及ios系统
function del(url){ var btnArray = ['否', '是']; //弹框消息确认是否打开附件 mui.confirm('是否删除该附件?', '删除成功', btnArray, function(e) { if(e.index == 1) { //打开附件 //测试 console.log("路径为:"+url); //删除本地缓存中对应值 var filelist=localStorage.getItem("fileList"); console.log("filelist="+filelist); //将字符串转换成数组形式 var jsonList="["+filelist+"]"; //将之前的文件转换为json var files = $.parseJSON(jsonList); var fil=""; mui.each(files, function(i, backlog) { console.log("url="+url); console.log("files[i].id="+backlog.id); if(backlog.id!=url){ fil =fil+","+JSON.stringify(backlog); console.log("fil="+fil); } }); fil=fil.substr(1); console.log("fil========="+fil); console.log("jsonList="+jsonList); //return; localStorage.setItem("fileList",fil); //执行删除 plus.io.requestFileSystem(plus.io.PRIVATE_DOC,function(fs){ fs.root.getDirectory(url, {create: false}, function(dirEntry) { console.log("进入删除方法") dirEntry.removeRecursively(function() { console.log("进入删除方法") plus.nativeUI.toast("删除成功!"); doInit(); console.log('Directory successufully removed.'); }, function(e){ plus.nativeUI.toast("删除失败!"+e.message); console.log("cuowu"+e.message) }); }, function(e){ plus.nativeUI.toast("删除失败!"+e.message); //console.log("cuowu"+e.message) }); }); } else { //不打开 //info.innerText = 'MUI没有得到你的认可,继续加油' } });
阅读全文
0 0
- hbuilder项目总结:下载附件判断是否打开并在本地管理已下载附件
- 下载附件
- 附件下载
- 附件下载
- 附件下载
- 附件下载
- 附件下载
- js判断本地是否安装app,未安装去下载,已安装打开本地的app
- python批量解析邮件并下载附件
- jsp页面查询附件并下载
- asp.net 下载附件
- asp.net 下载附件
- Grails附件下载
- 中文名附件下载
- 中文名附件下载乱码
- Struts1 action 下载附件
- JSP附件下载功能
- mastudio 下载附件
- 分区表不建议创建主键的原因
- 新安装的 eclipse 导入过去的项目,出现乱码的解决方法
- linux下vi命令大全
- CROS代理跨域
- flask
- hbuilder项目总结:下载附件判断是否打开并在本地管理已下载附件
- [JavaAPI]Intellij IDEA生成JavaDoc
- iOS开发之最近开发遇到的问题总结
- 三星官翻Note 7亮相:售价惊人!
- ffmpeg分解视频文件并加密
- 学习之旅(二)(ssm框架加入redis)
- iOS CBCentralManager以及CBCentralManagerDelegate
- Android Tv 焦点总结
- <Javascript>利用for循环制作一个简单的邮箱格式验证