7***@qq.com
7***@qq.com
  • 发布:2018-09-25 10:14
  • 更新:2018-09-25 10:14
  • 阅读:1337

【报Bug】ios系统里指定了filename重复下载文件,文件名不会按数字i递增

分类:HTML5+

详细问题描述
[内容]
在ios系统了使用createDownload下载文件,指定了filename,也就是指定了文件路名和文件名如“_download/测试.xls”
重现步骤
[步骤]重复下载同一个文件
[结果]文件没有重命名,而是被覆盖了
[期望]文件能够按数字i递增,如"download(1).doc

运行环境
[系统版本]v1.0
[浏览器版本]
[IDE版本]9.1.14.201808032109
[手机操作系统]ios
[手机型号]iphone6s
[mui版本]3.7.2

附件
[代码片段]

//附件下载  
					mui('#attchement').on('tap', 'a', function() {  
						//加载中  
						plus.nativeUI.showWaiting('下载中...');  
						var dataId = this.getAttribute('data-id');  
						var relFileName = this.innerText.replace(/(^\s*)|(\s*$)/g, "");  
						console.log("真实文件名:"+relFileName);  
						console.log(commonjz.returnUrl() + "/admin/sysFile/downloadFile.do?id=" + dataId);  
						var dtask = plus.downloader.createDownload(commonjz.returnUrl() + "/admin/sysFile/downloadFile.do?id=" + dataId, {  
							filename: '_downloads/' + relFileName  
						}, function(d, status) {  
							//关闭加载中  
							plus.nativeUI.closeWaiting();  
							// 下载完成  
							if(status == 200) {  
								//根据响应头判断文件是否存在  
								if(dtask.getResponseHeader('Content-disposition') == undefined) {  
									mui.alert('文件不存在!', '下载提示');  
									return;  
								}  
								var index = d.filename.lastIndexOf('\/');  
								var name = d.filename.substring(index + 1, d.filename.length);  
								var myDate = new Date();  
								var downTime = commonjz.formatDate(myDate);  
								console.log("文件名:"+d.filename);  
								var file = '{"date":"' + downTime + '","id":"' + d.filename + '","name":"' + name + '"}';  
								var file1 = localStorage.getItem("fileList");  
								if(file1 != null && file1 != "") { //不是第一次下载文件  
									//判断是否已经存在  
									file = file + "," + file1;  
									localStorage.setItem("fileList", file);  
								} else {  
									var jsonList = [];  
									var jsonarray = eval(jsonList); //定义追加格式  
									jsonarray.push(file);  
									var files = JSON.stringify(jsonarray);  
									localStorage.setItem("fileList", file); //第一次下载文件存储字符串  
								}  
  
								var btnArray = ['否', '是']; //弹框消息确认是否打开附件  
								mui.confirm('是否打开附件' + relFileName + '查看?', '下载成功', btnArray, function(e) {  
									if(e.index == 1) { //打开附件  
										plus.runtime.openFile(d.filename, {}, function(e) {  
											plus.nativeUI.alert("无法打开此文件:" + e.message);  
											  
										});  
									} else { //不打开  
									}  
								});  
							} else {  
								mui.alert("下载文件失败: " + status, "文件下载提示", "我知道了");  
							}  
						});  
						dtask.start();  
					});

[安装包]

联系方式
[QQ]743390682
[电话]15023910137

2018-09-25 10:14 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复