Italian FTP non viene generato uploadcomplete

LordZenzo

Well-Known Member
Licensed User
questo e' un problema ch mi porto dagli albori della mia app

in pratica non sempre viene generato l'evento uplosdcomplete

questo e' il codice
B4X:
Sub Button3_Click
    ' Save on FTP
    Isdown.Text="Up load In corso"
    Sutente="giannini-lorenzo.com"
    Nutente="XXXXX@aruba.it"
    Putente="xxxxxxxxx"
    FTP.Initialize("FTP","ftp." & Sutente,21,Nutente,Putente)  
    If FTP.IsInitialized Then
      UpFile= "www." & Sutente  & "/Turni/" & accountName &"/"
     UpFile= "www." & Sutente  & "/Turni/" & accountName &"/"
     FTP.SendCommand("MKD",UpFile)
     FTP.UploadFile(DBFileDir,"TurniMap.Map",True,UpFile & "TurniMap.Map")
     FTP.UploadFile(DBFileDir,"OrariMap.Map",True,UpFile & "OrariMap.Map")
     FTP.UploadFile(DBFileDir,"AppuntiMap.Map",True,UpFile & "AppuntiMap.Map") 
     FTP.UploadFile(DBFileDir,"OrdineMap.Map",True,UpFile & "OrdineMap.Map") 

    Else
      Log("errore connessione al server")
    End If
End Sub

Sub FTP_UploadProgress (ServerPath As String, TotalDownloaded As Long, Total As Long)
Dim s As String'
    s = "Uploaded " & Round(TotalDownloaded / 1000) & "KB"
    If Total > 0 Then s = s & " out of " & Round(Total / 1000) & "KB"
    Log(s)
End Sub
Sub FTP_UploadComplete(ServerPath As String, Success As Boolean)
    Log(ServerPath & ", Success=" & Success)
    If Success = False Then
      Log(LastException.Message)
      AsDown=-1
    End If
    If Success Then
      AsDown=AsDown+1
      Isdown.Text="UP load " & AsDown
      If AsDown=3 Then
          Isdown.Text="UP load Completo"
        FTP.Close
      End If  
    End If
End Sub
avviandosi il save on ftp
i file vengono salvati su uno spazio web personale a pagamento
peccato che pur salvandosi bene resta la scritta "up load in corso" e non si vede nessun avanzamento
 

LucaMs

Expert
Licensed User
peccato che pur salvandosi bene resta la scritta "up load in corso" e non si vede nessun avanzamento
La scritta è un tuo messaggio visualizzato in precedenza? Nel codice non la vedo.

Se i file arrivano normalmente, mi viene il dubbio che ci siano impostazioni lato server che non sempre sono compatibili con la libreria Net.

Do anche a te un suggerimento "a caso", come ho fatto per un altro utente: provare ad impostare diversamente FTP.PassiveMode (tanto per fare una provola :D)
 

LordZenzo

Well-Known Member
Licensed User
si la scritta e' una label impostata altrove
quello che mi fa sbattere la testa e' che il "problema" non e' costante
avvolte infatti si comporta esattamente come deve con il "conteggio" che scorre
e la scritta finale che si visualizza..
 

picenainformatica

Active Member
Licensed User
Potresti provare, oltre che a cercare una soluzione diretta tipo aggiornamento della libreria, ad usare quel numero per sapere che il trasferimento è finito. Aggiungi un timer di qualche secondo e poi gli fai chiamare (al timer) il _uploadcomplete.

P.S. Nella libreria l'evento è _uploadcompleted
 
Last edited:

udg

Expert
Licensed User
Due domande.
1. a che valore viene inizializzato AsDown
2. il numero dei file in upload è sempre lo stesso (4 nell'esempio)

Non dovrebbe essere FTP_UploadCompleted ?

udg
 

LordZenzo

Well-Known Member
Licensed User
ok, per lucasms
il codice e' lo stesso, avvolte va, avvolte non va, ma la seconda avviene piu spesso

per picenainformatica, dici di controllare a manina se e' avvenuto l'upload?
non e' un sistema che mi piace molto....
avevo pensato anche ad usare il comado list e verificando presenza e date dei file ma non e' un sistema "pulito"
 

udg

Expert
Licensed User
LOL eppure gli occhiali li ho comprati solo un paio di mesi fa
Saranno difettosi..prova a chiedere un rimborso..eheh
:D
 

picenainformatica

Active Member
Licensed User
Al volo ero cecato anche io. Ti ho fatto il post script giusto per non cancellare tutto.
 

LucaMs

Expert
Licensed User
per udg
i file sempre 4 e sempre gli stessi, in pratica, se voglio, salvo sul server i turni (il programma gestisce turni di lavoro e appunti giornalieri)
il salvataggio mi serve per poterli ricaricare su altri dispositivi
Si ma @udg ti chiedeva di AsDown perché:
If AsDown=3Then
dovrebbe essere
If AsDown=4 Then
a meno che non inizializzi AsDown = 1 altrove
 

LordZenzo

Well-Known Member
Licensed User
oook
allora fatta la modifica aggiungendo la d, e, ma guarda un po funziona!
eppure entrambi i modi di scrivere sono accettati senza errori
EREL!!! tepossino....:):(:(:mad:
e ancora devo capire perche avvolte funzionava comunque...
 

picenainformatica

Active Member
Licensed User
Viene accettata senza errore perché così è uno tua funzione.
 
Top