Vue附件下载方法

// 注意:一下两种文件下载方法只适用于下载文件接口为GET时使用,因为都是直接访问浏览器下载,而浏览器本身为GET方式访问,若下载接口为POST则该方法不生效


// GET下载方法
// 方法一
1.window.open('/dateDown/*******/*****')
// 方法二
2.window.location.href = URL




// POST下载方法
// 接口为POST文件下载方式
<template>
    <div>
        <iframe id="ifile" style="display: none">
            <form method="post" action="" id="ifileForm">
                <button id="downloadBtn" type="submit"></button>
            </form>
        </iframe>
    </div>
</template>



export default {
    methods: {
        handlePreview(file){ // 下载点击事件
            console.log(file,'下载');
            let params={  // 文件数据传参
                id:file?.response?.data ? file?.response?.data : file.id,
            }
            var form = document.getElementById("ifileForm"); // 获取iframe种button
            form.action = this.api.download_api + "?" + QS.stringify(params); // 拼接下载路径与下载用到的参数(QS为拼接参数组件)
            var btn = document.getElementById("downloadBtn");
            btn.click(); // 模拟用户点击操作
        },
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果您要实现Vue2的附件下载,而不需要使用API接口,可以采用以下两种方法之一: 方法一:使用a标签实现下载Vue2中,您可以使用a标签来实现附件下载。为了将a标签与Vue组件结合起来,您可以使用Vue的v-bind指令来绑定a标签的href属性和download属性。例如,假设您要下载名为“example.pdf”的文件,您可以在Vue组件的模板中添加以下代码: ```html <template> <div> <a v-bind:href="fileUrl" v-bind:download="fileName">Download File</a> </div> </template> <script> export default { data() { return { fileName: 'example.pdf', fileUrl: '/path/to/example.pdf' } } } </script> ``` 在上面的代码中,我们使用v-bind指令将a标签的href属性绑定到Vue组件的data属性中的fileUrl变量。我们还将a标签的download属性设置为文件名(即“example.pdf”),以便在用户点击下载链接时,浏览器将文件保存为该名称。 方法二:使用window.location实现下载 另一种实现Vue2附件下载方法是使用JavaScript的window.location对象。为了实现这种方法,您需要在Vue组件的方法中添加以下代码: ```javascript downloadFile() { window.location.href = '/path/to/example.pdf'; } ``` 在上面的代码中,我们在Vue组件的方法中添加了一个名为downloadFile的方法。当用户点击下载按钮时,该方法将使用JavaScript的window.location对象将用户重定向到文件的URL(即“/path/to/example.pdf”),浏览器将自动开始下载该文件。 请注意,这种方法有一个缺点,即当用户点击下载链接时,页面将被重新加载。如果您不希望页面重新加载,建议使用方法一中的a标签方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值