赞
踩
本次使用到elemnetui中的Upload上传,效果如所示(采取官网)
想要的效果是,在点击上传的文件列表时候,下此文件。
代码:
// 注册一个下载文件的自定义组件 Vue.directive('downLoadUrl', { bind(el, binding) { el.addEventListener('click', () => { console.log(binding.value) // url const a = document.createElement('a') // let url = baseUrl + binding.value // 若是不完整的url则需要拼接baseURL const url = binding.value // 完整的url则直接使用 // 这里是将url转成blob地址, fetch(url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址 a.href = URL.createObjectURL(blob) console.log(a.href) // a.download = '' // 下载文件的名字 a.download = url.split('/')[url.split('/').length - 1] // // 下载文件的名字 document.body.appendChild(a) a.click() }) }) } })
使用:v-downLoadUrl="url"
传入文件的url地址即可
<el-link target="_blank" :underline="false" v-downLoadUrl="file.url">
<span class="el-icon-paperclip mar5 fc_1890ff"></span>
<span class="fc_1890ff mar5">{{ getFileName(file) }}</span>
</el-link>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。