如何将通过JavaScript函数下载的文件数据分配给保存的文件

时间:2018-08-25 09:48:54

标签: javascript vue.js

在VueJS 1网站中,我为以下文件创建下载链接:

<a download={{d.fileName}} 
  href="#null" 
  v-on:click="getFile(d.guid);" 
  target="_blank">
  {{d.fileName}}</a>

下载功能如下,当我单击链接时,我可以从网络上看到从服务器接收到文件数据。 文件对象包含文件数据,但是我看不到如何将文件对象的内容分配给浏览器中下载的内容。 当您单击链接时,将使用正确的名称下载文件,但该文件包含我站点中的HTML而不是文件数据。

download: function() {
  var that = this;
  AXIOS('GET', '/file/'  + guid).then(function (response) {
    that.file = response.data;
  });
  return that.file;
}

如何获取要下载的文件数据?

1 个答案:

答案 0 :(得分:1)

文件URL应该在链接的href属性中。

现在href指向它已经在(http://yoursite.com/yourpage#null)上的页面,因此它将从当前页面下载HTML,而不是文件。

链接的结果HTML应该如下所示:

<a href="http://yoursite.com/file/yourfile.ext" 
   download="yourfile.ext" 
   target="_blank">yourfile.ext</a>