VUE远程下载功能,动态赋值路径URL(el-link的使⽤)之前我们学过下载功能,是使⽤<a>标签+herf路径。
今天我们下载使⽤
<el-link :download="downloadname" :href="downloadUrl2" id="moban2" class="downloadBtn2" type="primary">
<el-button id="dibu_download" type="primary" @click="pullLog()" plain >拉取</el-button>
</el-link>
然后data,这⾥⼀般时存放下载的路径,我们之前也讲过
data() {
return {
downloadUrl2:"",//平时我们下载时直接再这⾥写的路径,但这⾥我们要动态赋值路径,等待后端返回下载链接放到这⾥的意思
}
}
然后后端返回链接,我们原理以为直接对downloadUrl2进⾏赋值
urltest = "http:\\192.168.0.1:8080\file\filename.zip" //这个是后端转过来的下载链接,就是再浏览器直接回车直接下载的
this.downloadUrl2 = urltest
问题来了:
然后你执⾏会发现下载失败,但是再浏览器直接输⼊这个地址就可以下载,这是为什么?
实际上我们赋值的是downloadUrl2 这个变量,但是href的属性没有改变,我们可以打印赋值后href看看
var v = ElementById("moban2");
console.log("href路径:",v.href);
打印出来的地址不是后端转过来的,这是为什么,这是因为初始再data中赋值是空的,后⾯你再赋值是没有赋值进去的,我们要对html即el-link中的href的属性进⾏赋值,⽽不是对变量进⾏赋值
所以修改为:
urltest = "http:\\192.168.0.1:8080\file\filename.zip" //这个是后端转过来的下载链接,就是再浏览器直接回车直接下载的
//给<el-link>中的href进⾏赋值⽅法
var v = ElementById("moban2");//获取html的el-link标签
v.href = urltest ; //赋值到href属性
这样才是我们要的路径。去试试吧html href属性

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。