Vue:如何实现日志导出下载功能?

提示:当前日志导出下载功能,是基于后端接口返回的日志数据url地址进行操作。
提示:当前日志导出下载功能,是基于后端接口返回的日志数据url地址进行操作。
提示:当前日志导出下载功能,是基于后端接口返回的日志数据url地址进行操作。

文章目录


1.后端接口返回数据示例

javascript 复制代码
{
       "status": 0,
       "data": {
               "file_url": "http://test//tmp/log.bin"
       }
}

提示:基于类似上述文件地址 实现导出下载功能


2.关键代码

html 复制代码
  <button @click="exportLog()">导出</button >
javascript 复制代码
        exportLog(){
            logApi().then((res) => {
                if (res.status == 0) {
                    const now = new Date();
                    const year = now.getFullYear();
                    const month = ('0' + (now.getMonth() + 1)).slice(-2);
                    const day = ('0' + now.getDate()).slice(-2);
                    const hours = ('0' + now.getHours()).slice(-2);
                    const minutes = ('0' + now.getMinutes()).slice(-2);
                    const seconds = ('0' + now.getSeconds()).slice(-2);

                    const formattedTime = year + month + day + hours + minutes + seconds;
                    const link = document.createElement('a');
                    const blob = new Blob([res.data.file_url]);
                    link.style.display = 'none'
                    link.href = URL.createObjectURL(blob)
                    link.setAttribute('download', 'config_'+formattedTime+'.bin')
                    //setAttribute,第二个参数是定义导出文件的名称。
                    document.body.appendChild(link)
                    link.click()
                    document.body.removeChild(link)
                }
            });
		},
相关推荐
harrain1 小时前
什么!vue3.4开始,v-model不能用在prop上
前端·javascript·vue.js
阿蒙Amon6 小时前
TypeScript学习-第7章:泛型(Generic)
javascript·学习·typescript
睡美人的小仙女1276 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
fanruitian6 小时前
uniapp android开发 测试板本与发行版本
前端·javascript·uni-app
摘星编程7 小时前
React Native + OpenHarmony:Timeline垂直时间轴
javascript·react native·react.js
2501_944525548 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
jin1233228 小时前
React Native鸿蒙跨平台完成剧本杀组队详情页面,可以复用桌游、团建、赛事等各类组队详情页开发
javascript·react native·react.js·ecmascript·harmonyos
经年未远9 小时前
vue3中实现耳机和扬声器切换方案
javascript·学习·vue
刘一说10 小时前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js
jin12332210 小时前
基于React Native鸿蒙跨平台移动端表单类 CRUD 应用,涵盖地址列表展示、新增/编辑/删除/设为默认等核心操作
react native·react.js·ecmascript·harmonyos