Загрузка файлов XLS автоматически с веб-сайта - PullRequest
0 голосов
/ 23 февраля 2012

Как я могу автоматически загружать файлы XLS с веб-сайта? Мой клиент вводит имя пользователя и пароль для входа на веб-сайт, и с этого момента мне нужно скачать список файлов XLS, один за другим, и сохранить их в один путь. ссылка на файлы находится внутри HTML-таблицы. нужна ваша помощь, ребята

Ответы [ 2 ]

3 голосов
/ 24 февраля 2012

Вы можете сделать это следующим образом ... Поведение браузера отличается, но вы можете инициировать загрузку множества файлов за одно действие. Я думаю, что это лучшее из возможных решений в браузере.

Вы можете создать временный набор скрытых iframes, начать загрузку с помощью GET или POST внутри них, дождаться начала загрузки и удалить iframes:

<!DOCTYPE HTML>
<html>
<body>
  <button id="download">Download</button> 

  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  <script type="text/javascript">

     $('#download').click(function() {
       download('http://nogin.info/cv.doc','http://nogin.info/cv.doc');
     });

     var download = function() {
       for(var i=0; i<arguments.length; i++) {
         var iframe = $('<iframe style="visibility: collapse;"></iframe>');
         $('body').append(iframe);
         var content = iframe[0].contentDocument;
         var form = '<form action="' + arguments[i] + '" method="GET"></form>';
         content.write(form);
         $('form', content).submit();
         setTimeout((function(iframe) {
           return function() { 
             iframe.remove(); 
           }
         })(iframe), 2000);
       }
     }      

  </script>
</body>
</html>
0 голосов
/ 23 февраля 2012

Один дешевый и простой способ - настроить элемент управления веб-браузера и использовать его для входа в систему. Теперь у вас есть учетные данные для сайта.Затем нажмите кнопку, чтобы выключить URI для каждого из файлов XLS, открыв их в том же контексте, и затем сохранить на диске.

На самом деле вы можете скрыть элемент управления от пользователя.

Поскольку вы, похоже, управляете сайтом, я бы также рассмотрел возможность использования другой методологии для обслуживания этих битов, например службы WCF..

...