загрузить сгенерированный CSV-файл на удаленный сервер из angularjs 'директивы' - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть это приложение, которое может загрузить CSV-файл на мой локальный компьютер, нажав кнопку «Загрузить». Директива извлекает данные из html-таблицы интерфейса пользователя.

Теперь мне нужно отправить файл на удаленный сервер напрямую через ftp, а не загружать его на мой локальный компьютер. Я рассмотрел несколько рабочих примеров того, как просмотреть файл с локального компьютера и загрузить, но я могу получить тот, который загружает напрямую.

Ниже приведены мои коды.

  • Html

     <button class="btn btn-danger" export-to-csv>Download Csv</button>
    
  • Код App.js

         var App = angular.module('App', ['ngRoute', 'ui.bootstrap', 
           'chart.js' ]);
           // used to downlod Csv file
           var csvuploadfle;
           App.directive('exportToCsv', function () {   
           return {
           restrict: 'A',
    
        link: function (scope, element, attrs) {
            var el = element[0];
            element.bind('click', function (e) {
                var table = e.target.nextElementSibling;
                var csvString = '';
                for (var i = 0; i < table.rows.length; i++) {
                    var rowData = table.rows[i].cells;
                    for (var j = 2; j < rowData.length - 1; j++)
                    {
                        csvString = csvString + rowData[j].innerHTML + ",";
                    }
                    csvString = csvString.substring(0, csvString.length - 1);
                    csvString = csvString + "\n";
                }
                csvString = csvString.substring(0, csvString.length - 1);
                var a = $('<a/>', {
                    style: 'display:none',
                    href: 'data:application/octet-stream;base64,' + btoa(csvString),
                    download: 'Sample.csv'
                }).appendTo('body')
                a[0].click()
                a.remove();
                csvuploadfle = a;                
            });           
        }       
    }
    //code to upload to server
    

    });

Исходя из приведенного выше кода, файл сохраняется как 'Sample.csv' на локальном компьютере. это файл, который я хочу загрузить на удаленный сервер напрямую, нажав кнопку «Загрузить Csv»

Я открыт, чтобы предоставить дополнительные разъяснения по вопросу

С уважением

...