Italian [B4J] Client FTP

Aldo's

Active Member
Licensed User
Buongiorno a tutti.
Ho provato a cercare un tutorial per eseguire il download di un file da un server FTP (Altervista), ma non ho trovato nulla sul forum.
Potete darmi una mano?
La mia esigenza è quella di scaricare un singolo file in una determinata cartella.
Grazie
 

LucaMs

Expert
Licensed User
Longtime User
Buongiorno a tutti.
Ho provato a cercare un tutorial per eseguire il download di un file da un server FTP (Altervista), ma non ho trovato nulla sul forum.
Potete darmi una mano?
La mia esigenza è quella di scaricare un singolo file in una determinata cartella.
Grazie
Prima di provare a darti una mano (forse l'ho fatto, in passato), fai una prova "interessante": chiedi a ChatGPT, spiegando bene che usi B4J e, se sì, magari anche B4XPages.
 

Aldo's

Active Member
Licensed User
Prima di provare a darti una mano (forse l'ho fatto, in passato), fai una prova "interessante": chiedi a ChatGPT, spiegando bene che usi B4J e, se sì, magari anche B4XPages.
Ho provato, ma in questo è un disastro.
Mi propone di caricare la libreria FTP (anzichè la libreria NET). Quando gli dico che non esiste la libreria FTP mi propone di inserire la libreria FTP B4X e, se non la trovo di scaricarla da B4X in AddLibrary.
Anche il codice, per quello che ho visto fin ora è un disastro. Lo allego ma, da quello che ho visto fin ora, è un macello:
B4X:
Sub Process_Globals
    Dim ftp As FTP
    Dim downloadFolder As String
End Sub

Sub B4XPage_Created (Args() As Object)
    ' Inizializza la libreria FTP
    ftp.Initialize
    downloadFolder = File.DirApp & "/Download/" ' Cartella per il salvataggio
    If Not(File.Exists(downloadFolder)) Then
        File.MakeDir(File.DirApp, "Download")
    End If
End Sub

Sub DownloadFile
    ' Impostazioni FTP
    Dim server As String = "ftp://ftp.tuoserver.com"
    Dim user As String = "tuoUsername"
    Dim password As String = "tuaPassword"
    Dim remoteFile As String = "/percorso/del/file/da/scaricare.txt"
    Dim localFile As String = downloadFolder & "/fileScaricato.txt"
    
    ' Connessione al server FTP
    ftp.Host = server
    ftp.Username = user
    ftp.Password = password
    ftp.Port = 21 ' Porta di default per FTP
    
    ' Avvio del download
    ftp.Download(remoteFile, localFile)
    
    ' Notifica completamento
    Log("Download completato!")
End Sub

Sub B4XPage_Initialize
    ' Esegui il download quando la pagina viene inizializzata
    DownloadFile
End Sub
 

LucaMs

Expert
Licensed User
Longtime User
Prova così:
Sub Class_Globals
    Private Root As B4XView 'ignore
    Private xui As XUI 'ignore
 
    Private mFTP As FTP
    Private mHost, mUser, mPW As String
    Private mPort As Int = 21
End Sub

Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1

    mHost = "ftp.QUI_TUO_NOME_UTENTE.altervista.org"
    mUser = "QUI_TUO_NOME_UTENTE"
    mPW = "QUI_TUA_PW"
 
    mFTP.Initialize("FTP", mHost, mPort, mUser, mPW)
    mFTP.PassiveMode = True
End Sub

Private Sub btnDownload_Click
    Dim ServerFilePath, DestDir, DestFileName As String
    ServerFilePath = "MODIFICA QUESTO"
    FileName = "MODIFICA QUESTO"
    DestDir = File.DirApp ' SE VUOI, MODIFICA QUESTO
    mFTP.DownloadFile(ServerFilePath, True, DestDir, FileName)
End Sub

Private Sub FTP_DownloadCompleted (ServerPath As String, Success As Boolean)
    Log("Download " & IIf(Success, "completed.", "failed."))
End Sub
 
Last edited:

Aldo's

Active Member
Licensed User
Prova così:
Sub Class_Globals
    Private Root As B4XView 'ignore
    Private xui As XUI 'ignore
 
    Private mFTP As FTP
    Private mHost, mUser, mPW As String
    Private mPort As Int = 21
End Sub

Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1

    mHost = "ftp.QUI_TUO_NOME_UTENTE.altervista.org"
    mUser = "QUI_TUO_NOME_UTENTE"
    mPW = "QUI_TUA_PW"
 
    mFTP.Initialize("FTP", mHost, mPort, mUser, mPW)
    mFTP.PassiveMode = True
End Sub

Private Sub btnDownload_Click
    Dim ServerFilePath, DestDir, DestFileName As String
    ServerFilePath = "MODIFICA QUESTO"
    FileName = "MODIFICA QUESTO"
    DestDir = File.DirApp ' SE VUOI, MODIFICA QUESTO
    mFTP.DownloadFile(ServerFilePath, True, DestDir, FileName)
End Sub

Private Sub FTP_DownloadCompleted (ServerPath As String, Success As Boolean)
    Log("Download " & IIf(Success, "completed.", "failed."))
End Sub
Provo e ti dico
 
Top