从vue.js生成文件下载

时间:2019-11-01 09:17:58

标签: vue.js websocket

我已经从websocket服务器检索了一些数据,是否可以生成文件下载事件,以便用户可以将任意数据保存到磁盘?

通常人们会访问一个新的URL来导出数据,我试图避免这种情况。

1 个答案:

答案 0 :(得分:0)

要使用 vue.js 在内存中创建文件,可以使用以下示例:

<div id="app">
  <a v-on:click="download()" :href="myUrl" :download="myfilename">DOWNLOAD</a>
</div>

<script>
 var app = new Vue({
  el: '#app',
  data: {
    myUrl: '#',
    myFilename: ''
  },
  methods: {
    download: function() {
      const jsonData = encodeURIComponent('{"is_valid": true}')
      this.myUrl = `data:text/plain;charset=utf-8,${jsonData}`
      this.myFilename = 'example.json'
    }
  }
})
</script>