Prova questo.
Mi raccomando il "False" che inserisci su UploadFile ( indica che sono file binari )
B4X:... FTP.UploadFile(FD.FilePath, FD.ChosenName, False, "/public_html/xxxx/file.pdf")
Ecco la fonte di tutti i mie problemi con i file che sembravano corrotti
B4X:
Sub FTP_UploadProgress (ServerPath As String, TotalUploaded As Long, Total As Long)
ProgressBar1.Progress = TotalUploaded / grandezzafile * 100
edt_file.Text = "Wait Upload " & Round(TotalUploaded / 1000) & "KB / " & Round(grandezzafile / 1000) & "KB"
End Sub
come ricavi grandezzafile io provo con file.size ma mi torna null