2012-02-23 2 views
0

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

+0

Я Пытался Н. IMACROS SCRIPT, но этот сценарий не идеально. –

ответ

0

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

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

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

+0

Спасибо, я дам ему попробовать :) –

3

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

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

<!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>