详细问题描述
[内容]
在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
0 个回复