Как создать и скачать текстовый файл в Метеор? - PullRequest
0 голосов
/ 10 июня 2019

Как я могу легко создать текстовый файл в 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';

1 Ответ

0 голосов
/ 10 июня 2019

Если вы хотите вернуть его методом Meteor, самое простое решение - вернуть текстовое содержимое и затем сгенерировать файл на клиенте.

Вы можете создать BLOB-объект и использовать библиотеку, например FileSaver , чтобы начать загрузку. Если вы не хотите использовать какую-либо библиотеку, обычным хаком является генерация html-ссылки на файл BLOB-объекта, добавление его в DOM и запуск по нему.

...