Italian Scaricare un file da un sito

Sabotto

Well-Known Member
Licensed User
Buonasera. Domandina semplice credo per molti ma non per me alle prime armi
Con questo codice VB.NET scarico un file di testo dal mio sito
B4X:
Dim client As New WebClient()
client.DownloadFile(New Uri("http://www.miosito.it/MiaDir/miofile.txt"), "C:\mioFileScaricato.txt")

Devo fare l'identica cosa con B4A, ovviamente salvando il file in apposita cartella Android
Non sono riuscito a capire l'equivalente dell'oggetto .NET WebClient
Cosa devo usare? OKHTTPUtils2?
Una imbeccatina di codice o link?. Grazie
 

Sabotto

Well-Known Member
Licensed User
Ho provato cosi ma ottengo un errore.
B4X:
    Dim j As HttpJob
    Dim Sito As String = "http://www.miosito.it/MiaDir"
    Dim srcFile As String = "srcMiofile.txt"
    Dim dstFile As String = "dstMioFile.txt"
    Dim SitoFile As String = File.Combine(Sito,srcFile)
    
    j.Initialize("", Me)
    j.Download(SitoFile)
    Wait For (j) JobDone(j As HttpJob)
    If j.Success Then
        Dim out As OutputStream = File.OpenOutput(File.DirRootExternal, dstFile, False)
        File.Copy2(j.GetInputStream, out)
        out.Close
        Log("file scaricato")
    End If
    j.Release

ResponseError. Reason: java.net.UnknownServiceException: CLEARTEXT communication to www.miosito.it not permitted by network security policy, Response:
Il sito è su hosting di Aruba, se puo servire come informazione.
Ma in VB.NET riesco a scaricare il file!
 

Sabotto

Well-Known Member
Licensed User
Ho risolto abilitando sul server Aruba il protocollo "HTTPS".
Ora passerò a fare l'upload e eventualmente scriverò in un altro post. Grazie (vorrei mettere Risolto, ma non riesco a modificare il titolo del post)
 

drgottjr

Expert
Licensed User
Longtime User
trattandosi di http invece di https, prima di tutto, aggiungi questa linea al tuo manifest:
B4X:
SetApplicationAttribute(android:usesCleartextTraffic, "true")
android non permette http senza questo.

dopo okhttputils2:
B4X:
Dim j As HttpJob
j.Initialize("", Me)
j.Download("http://www.miosito.it/MiaDir/miofile.txt")
Wait For (j) JobDone(j As HttpJob)
If j.Success Then
   dim testo as string = j.getstring       ' j.getstring --->  !!!!! el scaricamento !!!!
   Log("il testo: " & testo)
   ' alora salva il file:
   file.writestring(file.dirinternal, "mioFileScaricato.txt", testo)
else   ' errore!!!
   log("errore: " & j.errormessage)
End If
j.Release

facile, semplice
 
Top