• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
a altervista video directory di inviare

[Risolto] Inviare video a directory di Altervista
#1
Carissimi,

Cerco di spiegare il mio problema:

ho un indirizzo altervista http://rpiplant.altervista.org/ a cui ho aggiunto un directory "video" http://rpiplant.altervista.org/video/. Vorrei sapere se c'è un modo per inviare dei file (video)a quella pagina in modo che questi si possano vedere come elementi (con nomefile) che vengano scaricati una volta cliccati.

Ho provato con Python ftplib con la seguente sintassi ma non carica il video su quella pagina non so se questo a causa di quali dei 2 seguenti motivi:
1) c'è qualche errore nella seguente sintassi di ftplib?

Codice:
import ftplib
session=ftplib.FTP('rpiplant.altervista.org','rpiplant','MyPassword')
nomefile=indirizzoAssoluto/movie.mp4"
file = open(nomefile,'rb')
arg1='STOR '+nomefile
session.storbinary(arg1, file)
file.close()
session.quit()



2) avere una http://rpiplant.altervista.org/video/ non è idoneo a ricevere file via ftp e per vedere i video inviati devo metter mano alla pagina (non saprei come).


Grazie per l'attenzione

Saluti

LaPa
With a little/big help from my friends Rolleyes
Risposta
#2
ftp in python non l'ho mai usato, quindi seguo anche io.

per il punto 2... ma l'hosting di altervista che hai è in modalità "blog" o "sito normale"? mi ricordo che era diventato scomodo per fare le cose già qualche anno fa e ho cambiato.
cmq nel link /video/ io vedo il vuoto. cosa ci dovrebbe essere?



Coltiva linux, che windows si pianta da solo! (cit.)
Risposta
#3
@Painbrain

l'ho trasformato in sito normale. Io fino ad ora l'ho usato per inviare le foto che fa il mio modulo cam in modo da poter vedere cosa succede da questa pagina http://rpiplant.altervista.org/ultima.jpg. Per questo uso una procedura ftp da linux. Volevo fare una cosa analoga con ftplib di Python. Nella cartellina /video la mia intenzione quella d'inviare dei video che il sistema effettua automaticamente. Attualmente non c'è niente nella cartellina in quanto non sono riuscito ad inviarli. L'ideale sarebbe, quando sarò riuscito ad inviare i video via ftplib visualizzarli come oggetti cliccabili e pertanto scaricabili.

Cosa usi come Hosting al posto di Altervista?

E' facile da usare per chi non conosce html e altro?

Saluti

LaPa
With a little/big help from my friends Rolleyes
Risposta
#4
me lo ricordo il progetto del timelapse della piantina Smile

in ogni caso, uso netsons come hosting. c'è anche quello gratuito se giri per il sito.
con loro ho anche un dominio normale, uno professionale e un vps. mai una delusione.

beh, ti danno lo spazio web ma al codice ci devi pensare tu.
se altervista ti viene incontro e ti devi solo occupare di caricare il file... usa altervista Smile

leggendo qui trovo un po' di differenze col tuo codice

per esempio il
Codice:
ftp.login("nome", "pass")
e lo spazio dopo STOR

ok. così funziona.

Codice:
import os
import ftplib
session=ftplib.FTP('sito','user','password')
nomefile="file"
file = open(nomefile,'rb')
arg1='STOR '+nomefile
session.storbinary("STOR " + nomefile, open (nomefile, "rb"), 1024)
file.close()
session.quit()

hai sempre l'opzione in bash

Codice:
#!/bin/bash
/usr/bin/ftp -inv indirizzosito<<ENDFTP
user nome password
bin
lcd /home/matteo #cartella locale
cd /path/assoluta/sul/sito   #sarà tipo /altervista/user/lapa/video per esempio nel tuo caso
put nome_file_locale nome_file_remoto   #anche lo stesso
bye
ENDFTP



Coltiva linux, che windows si pianta da solo! (cit.)
Risposta
#5
Grazie per la risposta,

Ho provato la sintassi che mi hai consigliato, c'e' ancora qualche problema.

Codice:
import os
import ftplib


session=ftplib.FTP('rpiplant.altervista.org','rpiplant','password')


nomefile="/mnt/usbhd/prove/movie.mp4"



file = open(nomefile,'rb')


arg1='STOR '+nomefile



session.storbinary("STOR " + nomefile, open (nomefile, "rb"), 1024)


file.close()
session.quit()



il problema sembra essere in questo punto:

Codice:
session.storbinary("STOR " + nomefile, open (nomefile, "rb"), 1024)


Python risponde:

Codice:
Traceback (most recent call last):
  File "/mnt/usbhd/prove/ProvaFTP.py", line 60, in <module>
    session.storbinary("STOR " + nomefile, open (nomefile, "rb"), 1024)
  File "/usr/lib/python2.7/ftplib.py", line 471, in storbinary
    conn = self.transfercmd(cmd, rest)
  File "/usr/lib/python2.7/ftplib.py", line 376, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "/usr/lib/python2.7/ftplib.py", line 339, in ntransfercmd
    resp = self.sendcmd(cmd)
  File "/usr/lib/python2.7/ftplib.py", line 249, in sendcmd
    return self.getresp()
  File "/usr/lib/python2.7/ftplib.py", line 224, in getresp
    raise error_perm, resp
error_perm: 553 Impossibile aprire quel file: File o directory non esistente

Ho controllato piu' volte il percorso e il nome del file ed è giusto.

Grazie per l'attenzione

Saluti

LaPa
With a little/big help from my friends Rolleyes
Risposta
#6
(05/10/2018, 15:25)Painbrain Ha scritto: ...e lo spazio dopo STOR...
Risposta
#7
a me funziona perfettamente ho anche riprovato ora.

assicurati che tu abbia i permessi di lettura in quella cartella, i permessi di lettura del file e soprattutto di non aver dimenticato qualche maiuscola/minuscola

per prova crea un file di testo nella home e prova a eseguire lo script su di lui

ti riporto tra l'altro il codice semplificato del precedente script
Codice:
import os
import ftplib

session=ftplib.FTP('host','nome','pass')
nomefile="/home/matteo/test.txt"
session.storbinary("STOR " + nomefile, open (nomefile, "rb"), 1024)

session.quit()



Coltiva linux, che windows si pianta da solo! (cit.)
Risposta
#8
Salve,

Scusatemi per la lunga pausa ma ritorno sull'argomento perche' non ho risolto.

ho seguito il vostro consiglio e ho messo un semplice file test.txt su /home/pi

Ho usato il codice semplificato consigliato da Painbrain

Codice:
import os
import ftplib

session=ftplib.FTP('rpiplant.altervista.org','rpiplant','**********')


nomefile="/home/pi/test.txt"

session.storbinary("STOR " + nomefile, open (nomefile, "rb"), 1024) #ho lasciato lo spazio dopo STOR


session.quit()

ma mi da questo problema:

Codice:
Traceback (most recent call last):
  File "/mnt/usbhd/prove/ProvaFTP.py", line 58, in <module>
    session.storbinary("STOR " + nomefile, open (nomefile, "rb"), 1024)
  File "/usr/lib/python3.4/ftplib.py", line 503, in storbinary
    with self.transfercmd(cmd, rest) as conn:
  File "/usr/lib/python3.4/ftplib.py", line 398, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "/usr/lib/python3.4/ftplib.py", line 364, in ntransfercmd
    resp = self.sendcmd(cmd)
  File "/usr/lib/python3.4/ftplib.py", line 272, in sendcmd
    return self.getresp()
  File "/usr/lib/python3.4/ftplib.py", line 245, in getresp
    raise error_perm(resp)
ftplib.error_perm: 553 Impossibile aprire quel file: File o directory non esistente


invece se provo il seguente file di bash invia il file test.txt perfettamente quindi il sito è capace di ricevere file

Codice:
#!/bin/bash
/usr/bin/ftp -inv rpiplant.altervista.org <<ENDFTP


user rpiplant *********

bin

#provo a inviare un file di testo in pi/home
lcd /home/pi
put test.txt test1.txt


bye
ENDFTP

Vi viene qualche altra idea?

Grazie per l'attenzione

Saluti

LaPa
With a little/big help from my friends Rolleyes
Risposta
#9
non ho mai usato quella libreria, ma per collegarti in ftp a un host, solitamente questo deve iniziare con ftp:
prova
Codice:
ftp://rpiplant.altervista.org
Risposta
#10
provato: con ftp://rpiplant.altervista.org ma da' ancora errore Confused

Codice:
Traceback (most recent call last):
  File "/mnt/usbhd/prove/ProvaFTP.py", line 51, in <module>
    session=ftplib.FTP('ftp://rpiplant.altervista.org','rpiplant','password')
  File "/usr/lib/python2.7/ftplib.py", line 120, in __init__
    self.connect(host)
  File "/usr/lib/python2.7/ftplib.py", line 135, in connect
    self.sock = socket.create_connection((self.host, self.port), self.timeout)
  File "/usr/lib/python2.7/socket.py", line 553, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
gaierror: [Errno -2] Name or service not known


Grazie comunque per i consigli

Saluti

LaPa
With a little/big help from my friends Rolleyes
Risposta
  


Vai al forum:


Navigazione: 6 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect