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

【报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 负责人:无 分享
已邀请:

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