2013-05-04 8 views
5

Po pierwsze, powinienem powiedzieć, że wiele z tego jest ponad moją głową, więc z góry przepraszam za używanie niewłaściwej terminologii i potencjalnie zadając niejasne pytanie. Robię co mogę.Używając R do zapisywania obrazów i plików .csv, czy mogę użyć R, aby przesłać je na stronę internetową (użyć nazwy pliku, aby zrobić to ręcznie)?

Widziałem także ThisPost; Czy narzędzie, które chcę użyć do tego zadania, to RCurl?

Codziennie przez 4 miesiące będę analizować nowe dane i generować pliki .csv i .png, które należy załadować na stronę internetową, aby inni członkowie zespołu mogli sprawdzać. Mam (prawie) zautomatyzowane zbieranie danych, pobieranie danych, analizę i zapisywanie plików. Analiza jest przeprowadzana w R, a R zapisuje pliki. Obecnie używam Filezilla do ręcznego przesyłania nowych plików do witryny. Czy istnieje sposób, aby użyć R do przesłania plików na stronę internetową, aby nie musiałem otwierać plików Filezilla i przeciągać + upuszczać?

Byłoby miło uruchomić mój kod R i odejść, wiedząc, że po zakończeniu działania nowo zapisane pliki zostaną automatycznie umieszczone na stronie internetowej.

Dzięki za pomoc!

+2

Czy Filezilla ma tryb linii poleceń? R ma funkcję 'system', która może wydać polecenie do systemu operacyjnego. –

+1

Wygląda na to, że może, ale byłaby to technika, której mógłbym użyć, ale nie potrafiłam. Czy pomysł nadal korzysta z FileZilla, ale uruchamia go poprzez wiersz poleceń R> OS> FileZilla? Więc po prostu pomiń GUI FileZilla, ale niech to nadal robi swoje? [TUTAJ] (https://wiki.filezilla-project.org/Command-line_arguments_ (Client)) jest linkiem FileZilla Wiki o linii poleceń. Dzięki za wskazanie w tym kierunku brzmi jak solidne podejście. – rbatt

+1

https://wiki.filezilla-project.org/Command-line_arguments_%28Server%29 –

Odpowiedz

4

Nie określiłeś protokołu, którego używasz do przesyłania plików za pomocą FileZilla. Zakładam, że to ftp. Jeśli tak, można użyć funkcji ftpUpload od RCurl:

library(RCurl) 
ftpUpload("yourfile", "ftp://ftp.yourserver.foo/yourfile", 
    userpwd="username:passwd") 

RCurl miał również metody scp i powinien również wspierać sftp using ftpUpload.

+0

Twój wpis jest zachęcający. Jak sprawdzić, jakiego protokołu używam w/w FileZilla. Myślę, że ** to FTP, ale mogę się mylić. Zrobiłem trochę szturchnięcia i kiedy znajdę jeden z plików .html w FileZilla i poprosię FileZillę o skopiowanie adresu URL, ma on format taki jak "ftp://site.net/web/folder/folder/Page.html ". Zgaduję, że to oznacza FTP, prawda? – rbatt

+1

@rbatt Jeśli nie sprecyzowałeś niczego, a twój host (w lewym górnym rogu w FileZilla) nie zaczyna się od sftp: to prawdopodobnie ftp. Możesz również sprawdzić swój log komunikatów w filezilerze, po podłączeniu pokazuje adres IP, po którym następuje post (coś takiego jak 123.123.123.123:21 gdzie 21 jest portem), gdy post ma 21, to zwykle jest ftp. –

+0

OK, próbowałem tego kodu i jestem coraz bliżej. Jednakże otrzymuję komunikat "Błąd w funkcji (typ, msg, asError = TRUE): Serwer odmówił zmiany w podanym katalogu" Myślę, że dzieje się tak dlatego, że strona, na którą muszę przesłać plik, to hasło chroniony na stronę --- jeśli przechodzę do adresu URL za pomocą przeglądarki, muszę podać nazwę użytkownika i hasło, które różnią się od nazwy/hasła, które muszę użyć, aby połączyć się z serwerem w FileZilla. Jak wprowadzić te dodatkowe informacje w R? – rbatt

Powiązane problemy