Skip to content

Commit 5f40417

Browse files
committed
调整文件点击下载方式
1 parent b3b8724 commit 5f40417

File tree

2 files changed

+140
-142
lines changed

2 files changed

+140
-142
lines changed

Vol.Vue/src/utilities/common.js

Lines changed: 70 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
let base = {
2-
isPhone (val) {
2+
isPhone(val) {
33
return /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(val)
44
},
5-
isDecimal (val) {
5+
isDecimal(val) {
66
return /(^[\-0-9][0-9]*(.[0-9]+)?)$/.test(val);
77
},
8-
isNumber (val) {
8+
isNumber(val) {
99
return /(^[\-0-9][0-9]*([0-9]+)?)$/.test(val);
1010
},
11-
isMail (val) {
11+
isMail(val) {
1212
return /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/.test(val);
1313
},
14-
isUrl (url) {
14+
isUrl(url) {
1515
return this.checkUrl(url);
1616
},
17-
checkUrl (url) {
17+
checkUrl(url) {
1818
//url= 协议://(ftp的登录信息)[IP|域名](:端口号)(/或?请求参数)
1919
var strRegex =
2020
"^((https|http|ftp)://)?" + //(https或http或ftp):// 可有可无
@@ -35,13 +35,13 @@ let base = {
3535
}
3636
return false;
3737
},
38-
matchUrlIp (url, ip) { //url使用是否使用的当前ip
38+
matchUrlIp(url, ip) { //url使用是否使用的当前ip
3939
if (!url || !ip) {
4040
return false;
4141
}
4242
return url.indexOf(ip.replace('https://', '').replace('http://', '')) >= 0
4343
},
44-
getImgSrc (src, httpUrl) {
44+
getImgSrc(src, httpUrl) {
4545
if (this.isUrl(src)) {
4646
return src;
4747
}
@@ -50,7 +50,7 @@ let base = {
5050
}
5151
return src;
5252
},
53-
previewImg (src, httpUrl) { //图片预览,目前只支持单图片预览
53+
previewImg(src, httpUrl) { //图片预览,目前只支持单图片预览
5454
if (src && !this.isUrl(src) && httpUrl) {
5555
if (src.substr(0, 1) == "/" && httpUrl.substr(httpUrl.length - 1, 1) == "/") {
5656
src = src.substr(1)
@@ -99,70 +99,69 @@ let base = {
9999
},
100100
//下载文件 $element 标签, url完整url, fileName 文件名, header 以key/value传值
101101
//backGroundUrl 后台url,如果后台url直接从后台下载,其他全部通过点击a标签下载
102-
dowloadFile (url, fileName, header, backGroundUrl) {
103-
if (!url) {
104-
alert('此文件没有url不能下载')
105-
return;
106-
}
107-
let $element = document.getElementById('dowonloadfile-a');
108-
if (!$element) {
109-
$element = document.createElement('a');
110-
$element.setAttribute("id", "dowonloadfile-a");
111-
document.body.append($element);
112-
}
113-
//url为一个完整的地址,并且不是后台api的地址,直接点击a标签下载
114-
// if (this.isUrl(url) && !this.matchUrlIp(url, backGroundUrl)) {
102+
dowloadFile(url, fileName, header, backGroundUrl) {
103+
if (!url) return alert('此文件没有url不能下载')
104+
window.open(url);
105+
return;
106+
// let $element = document.getElementById('dowonloadfile-a');
107+
// if (!$element) {
108+
// $element = document.createElement('a');
109+
// $element.setAttribute("id", "dowonloadfile-a");
110+
// document.body.append($element);
111+
// }
112+
// //url为一个完整的地址,并且不是后台api的地址,直接点击a标签下载
113+
// // if (this.isUrl(url) && !this.matchUrlIp(url, backGroundUrl)) {
114+
// // $element.href = url;
115+
// // $element.click();
116+
// // return;
117+
// // }
118+
119+
// if (!this.isUrl(url)) {
120+
// if (!this.isUrl(backGroundUrl + url)) {
121+
// console.log("文件路径不正确");
122+
// alert('文件路径不正确')
123+
// return;
124+
// }
125+
// url = backGroundUrl + url;
126+
// }
115127
// $element.href = url;
116128
// $element.click();
117-
// return;
118-
// }
129+
119130

120-
if (!this.isUrl(url)) {
121-
if (!this.isUrl(backGroundUrl + url)) {
122-
console.log("文件路径不正确");
123-
alert('文件路径不正确')
124-
return;
125-
}
126-
url = backGroundUrl + url;
127-
}
128-
$element.href = url;
129-
$element.click();
130-
return;
131+
// //通过后台api服务器下载
132+
// if (!this.isUrl(url)) {
133+
// if (!this.isUrl(backGroundUrl + url)) {
134+
// alert('当前下载的文件url【' + url + '】不正确')
135+
// return;
136+
// }
137+
// url = backGroundUrl + url;
138+
// }
139+
// let xmlResquest = new XMLHttpRequest();
140+
// xmlResquest.open("GET", url, true);
141+
// xmlResquest.setRequestHeader("Content-type", "application/json");
142+
// if (header && typeof header == 'object') {
143+
// for (const key in header) {
144+
// xmlResquest.setRequestHeader(
145+
// key,
146+
// header[key]
147+
// );
148+
// }
149+
// }
131150

132-
//通过后台api服务器下载
133-
if (!this.isUrl(url)) {
134-
if (!this.isUrl(backGroundUrl + url)) {
135-
alert('当前下载的文件url【' + url + '】不正确')
136-
return;
137-
}
138-
url = backGroundUrl + url;
139-
}
140-
let xmlResquest = new XMLHttpRequest();
141-
xmlResquest.open("GET", url, true);
142-
xmlResquest.setRequestHeader("Content-type", "application/json");
143-
if (header && typeof header == 'object') {
144-
for (const key in header) {
145-
xmlResquest.setRequestHeader(
146-
key,
147-
header[key]
148-
);
149-
}
150-
}
151-
152-
xmlResquest.responseType = "blob";
153-
xmlResquest.onload = function (oEvent) {
154-
if (xmlResquest.status != 200) {
155-
return alert('没有下载到此文件的信息')
156-
}
157-
let content = xmlResquest.response;
158-
$element.download = fileName;
159-
let blob = new Blob([content]);
160-
$element.href = URL.createObjectURL(blob);
161-
$element.click();
162-
};
163-
xmlResquest.send();
151+
// xmlResquest.responseType = "blob";
152+
// xmlResquest.onload = function (oEvent) {
153+
// if (xmlResquest.status != 200) {
154+
// return alert('没有下载到此文件的信息')
155+
// }
156+
// let content = xmlResquest.response;
157+
// $element.download = fileName;
158+
// let blob = new Blob([content]);
159+
// $element.href = URL.createObjectURL(blob);
160+
// $element.click();
161+
// };
162+
// xmlResquest.send();
164163
},
165-
downloadImg (data) {
164+
downloadImg(data) {
166165
if (!data.url || !data.callback || typeof data.callback != 'function') {
167166
return;
168167
}
@@ -206,7 +205,7 @@ let base = {
206205
//2、树形tree需要注意Id与parentId循环依赖的问题
207206
//3、callback每次生成一新的节点的时回调的方法
208207

209-
convertTree (data, callback) {
208+
convertTree(data, callback) {
210209
var treeIds = [];
211210
var root_data = [];
212211
data.forEach(x => {
@@ -229,7 +228,7 @@ let base = {
229228
root_data.push(...exceptionNodes);
230229
return root_data;
231230
},
232-
getTreeAllParent (id, data) { //获取某个节点的所有父节点信息2020.11.01
231+
getTreeAllParent(id, data) { //获取某个节点的所有父节点信息2020.11.01
233232

234233
var nodes = [];
235234
if (!(data instanceof Array)) {
@@ -258,7 +257,7 @@ let base = {
258257
export default base;
259258

260259
//2020.06.01增加通用方法,将普通对象转换为tree结构
261-
function getTree (id, node, data, callback, treeIds) {
260+
function getTree(id, node, data, callback, treeIds) {
262261
if (treeIds.indexOf(id) == -1) {
263262
treeIds.push(id);
264263
}

0 commit comments

Comments
 (0)