Italian Ftp Errore con genymotion

Stefano Bordini

Member
Licensed User
Longtime User
Qualcuno sa dirmi come mai questo codice

B4X:
File.Copy(Dir,FileName,File.DirInternal,"copia.jpg")
  ftp.UploadFile(File.DirInternal, "copia.jpg", True, "/public_html/immagini/copia.jpg")

Sub FTP_UploadProgress (ServerPath As String, TotalUploaded As Long, Total As Long)
    Dim s As String
    s = "Uploaded " & Round(TotalUploaded / 1000) & "KB"
    If Total > 0 Then s = s & " out of " & Round(Total / 1000) & "KB"
    Log(s)
End Sub

Sub FTP_UploadCompleted (ServerPath As String, Success As Boolean)
    Log(ServerPath & ", Success=" & Success)
    If Success = False Then Log(LastException.Message)
End Sub
Sub img_Click
    chooser.Initialize("CC")
    chooser.Show("image/*", "Choose image")
    Dim image As Bitmap


End Sub

funziona se lo provo su un cellulare,
mentre se lo provo su Genymotion mi da questo errore
/public_html/immagini/copia.jpg, Success=false
java.lang.RuntimeException: Error uploading file.
500 I won't open a connection to 10.0.3.15 (only to 79.23.185.71)
 
Last edited:

Stefano Bordini

Member
Licensed User
Longtime User
Sicuro che sia quello il codice in esecuzione?




copia.jpg - ciauo.jpg

?
Si il codice è quello giusto,per errore ho copiato il log in una fase diversa del test,dove provavo se cambiando nome all file di destinazione avrei avuto migliori risultati.
Ps Ho sistemato il codice
 

LordZenzo

Well-Known Member
Licensed User
Longtime User
mentre se lo provo su Genymotion mi da questo errore
/public_html/immagini/copia.jpg, Success=false
java.lang.RuntimeException: Error uploading file.
500 I won't open a connection to 10.0.3.15 (only to 79.23.185.71)

comunque l'errore parla chiaro, non apre la connesione, ossia l'emulatore non si connette ad internet, per cui l'errore non e' nel codice ma nel'emulatore, o provi a risolvere questo o usi un dispositivo reale per le prove, ed o faccio sempre cosi...
 

Stefano Bordini

Member
Licensed User
Longtime User
Credo che seguirò il tuo consiglio,ed userò un device reale,il fatto strano che lo stesso programma inserisce correttamente i dati in un database mysql, che ho installato su un server,quindi l'emulatore si connette ad internet.
 

LordZenzo

Well-Known Member
Licensed User
Longtime User
Credo che seguirò il tuo consiglio,ed userò un device reale,il fatto strano che lo stesso programma inserisce correttamente i dati in un database mysql, che ho installato su un server,quindi l'emulatore si connette ad internet.
in tal caso forse e' solo un problema di firewall o di come si connette, forse il tuo server ha meno protezioni o si trova prima del firewall...
 

Stefano Bordini

Member
Licensed User
Longtime User
Altro problema,ho provato a scaricare i file che ho uploadato e sono tutti corrotti non si aprono,bisogna fare qualche test per verificare l'integrità dei file uploadati?
e si quale?
scusate l'assillo
 

Stefano Bordini

Member
Licensed User
Longtime User
Con Filezilla upload download senza problemi,non so se intendi altro tipo di prove da fare, in alternativa con cosa posso fare l'upload , in fin dei conti devo solo salvare delle immagini su un server, per evitare di salvarle direttamente nel database.
 

LucaMs

Expert
Licensed User
Longtime User
Volevo proprio dire di usare Filezilla per assicurarsi che non ci siano problemi di permessi, directory, firewall, etc.

A questo punto, se con Filezilla tutto è ok, con un dispositivo reale anche, se sugli emulatori (stessa app in modalità release) la cosa non va, non si può che dedurre che il problema siano proprio gli emulatori.

Se trovo il tempo, farò qualche prova anch'io (o magari qualcun altro? ;))
 

Stefano Bordini

Member
Licensed User
Longtime User
Aspetta!!!!! Chi ha parlato di modalità release? Io faccio in modalità debug rapido, vuoi vedere che era una caxxata del genere, appena rientro provo
 

MarcoRome

Expert
Licensed User
Longtime User
Prova questo.
Libreria Net 1.62
Codice:
B4X:
In ...Process_Global
Dim FTP As FTP

B4X:
In Activate_Create...
If FirstTime Then
        FTP.Initialize("FTP", "109.75.888.45", 21, "userftp", "passwordftp")
End If


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")

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

Sub FTP_UploadCompleted (ServerPath As String, Success As Boolean)
    Log(ServerPath & ", Success=" & Success)
    If Success = False Then
        Log(LastException.Message)
    Else
        ToastMessageShow("File Uploaded", True)
    End If
End Sub

Con lo stesso effettuo upload di decine di file ....
 
Top