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)
                }
            });
		},
相关推荐
Highcharts.js几秒前
用Highcharts开发动态主从图表|双图联动的时间序列图表示例
javascript·数据库·信息可视化·highcharts·图表开发·动态图表
志尊宝31 分钟前
Vue3 零基础每日笔记(076):防抖节流的正确使用——搜索框、按钮防重复提交、滚动监听
javascript·vue.js·笔记
顽疲44 分钟前
从零用 Java 实现小红书 SpringBoot Vue UniApp(23)笔记话题多对多:一条笔记进多个话题池
java·vue.js·spring boot
能源革命1 小时前
Vue 网格拖拽布局组件全景指南:7 大方案深度对比
前端·javascript·vue.js
雷工笔记1 小时前
KingFusion 驾驶舱开发:ECharts小时模板实现动态时间窗口
javascript
知野小兔1 小时前
JavaScript中Map和Set详解
javascript
daols882 小时前
vue 表格组件 vxe-table 实现自定义多行编辑功能
前端·javascript·vue.js·vxe-table
志尊宝2 小时前
Vue3 零基础每日笔记(075):图片懒加载与骨架屏
javascript·vue.js·笔记
IT_Octopus2 小时前
【零基础入门 LLM 开发 · Day 11】:ChatOpenAI vs init_chat_model——一行换供应商
java·前端·javascript
柚yuzumi2 小时前
React 19 Hooks 入门:函数组件的四大法宝 (useState / useEffect / useRef / useContext)
前端·javascript·架构