【问题标题】:How to create and download a text file in Meteor?如何在 Meteor 中创建和下载文本文件?
【发布时间】:2019-10-25 02:55:30
【问题描述】:

如何在 Meteor(服务器端)中轻松创建文本文件并下载为 .txt 文件?

// On Server
if (Meteor.isServer) {
  Meteor.methods({
    'scan-db': function () {
       // scan the DB for corrupted data
       var allEntries = Jobs.find().fetch();
       var report = "";
       for ( let i = 0; i < allEntries.length ; i ++ ) {
         if ( validate(allEntries[i]) == false ) {
           report = report + allEntries[i].entryNumber + " has a problem" + "\n";
         // used \n for line breaks in windows
         }
       return report; // a whole bunch of string

  })
}


// On client
if (Meteor.isClient) {
  Meteor.call("scan-db", function(err, res) {
     if (res) {
        downloadFile(res);
     }
  })
}

我希望能够将我的结果下载为文本文件进行保存。有什么简单的方法可以做到这一点吗?我尝试使用meteorhacks:picker,但显然包不工作或Picker返回undefined尽管导入它import { Picker } from 'meteor/meteorhacks:picker';

【问题讨论】:

标签: javascript meteor text-files flow-router


【解决方案1】:

如果你想通过Meteor的方式返回,最简单的办法就是返回文本内容,然后在客户端生成文件。

您可以创建一个 Blob 并使用诸如 FileSaver 之类的库来开始下载。如果你不想使用任何库,一个常见的 hack 是生成一个指向 blob 文件的 html 链接,将其附加到 DOM 并触发点击它。

【讨论】:

  • 我认为您可以使用&lt;a&gt; 标签的download 属性,它告诉浏览器下载内容。这比生成 blob 和伪造点击更简单。在此处阅读更多信息:w3schools.com/tags/att_a_download.asp
  • 那么你还是要生成一个 Blob,否则你还下载什么?
猜你喜欢
  • 2022-11-16
  • 2022-01-07
  • 1970-01-01
  • 2013-12-05
  • 2013-04-21
  • 2020-09-07
  • 1970-01-01
  • 2014-12-17
  • 2012-03-01
相关资源
最近更新 更多