Italian Download file

Salve,

ho la necessità di fare il download di un file avi da un server web (protocollo http).

Vorrei che il file venisse conservata tra i download del telefono.

Qualcuno potrebbe indicarmi una strada percorribile, magari con qualche spezzone di codice?

Grazie
 
Last edited:

AlpVir

Well-Known Member
Licensed User
Longtime User
Cerca DownloadService.
E' un modulo. Da una Activity lo richiami in un modo simile a questo
B4X:
DownloadService.URL = "http://www.nomesito.it/NomeFile.zip"
DownloadService.Target = File.OpenOutput(File.DirRootExternal,"NomeFile.zip", False)
StartService(DownloadService)
Nel mio esempio si tratta di un file zip che poi può essere facilmente scompattato ma nel tuo caso puoi direttamente scrivere NomeFile.avi.
 
B4X:
Sub Button3_Click

  Dim job As HttpJob
  slink="http://www.xxx.com/pippo.avi"
  job.Initialize("job", Me)
  job.Download(slink)

End Sub
Sub JobDone (Job As HttpJob)
  Log("JobName = " & Job.JobName & ", Success = " & Job.Success)
  If Job.Success = True Then
      ToastMessageShow("Scaricamento del file in corso", True)
      Dim out As OutputStream
      out = File.OpenOutput(File.DirInternal,"pippo.avi",False)
      File.Copy2(Job.GetInputStream,out)
      out.close
  Else
      Log("Error: " & Job.ErrorMessage)
      ToastMessageShow("Error: " & Job.ErrorMessage, True)
   
  End If
  Job.Release
End Sub

Ho provato in questo modo ma non funge.

Il modulo DownloadService non lo posseggo, purtroppo.
 
Grazie, provo subito.


Ok funziona, ma non trovo dove viene scaricato.

Pensavo fosse in download ma non ci sta.
 
Last edited:

KPmaster

Member
Licensed User
Longtime User
Se stai usando il codice che hai postato, cioè

B4X:
out = File.OpenOutput(File.DirInternal,"pippo.avi",False)
File.Copy2(Job.GetInputStream,out)

Allora stai già seguendo le indicazioni che ti ha dato djveleno. Il problema lì però sta nel percorso che hai utilizzato: File.DirInternal punta ad una cartella privata dell'applicazione. Prova ad utilizzare File.DirDefaultExternal così salverai i file in Android/data/packagename/files
 
benissimo, collegandomi con la porta usb il file effettivamente è stato scarcato in Android/data/packagename/files.

Adesso dovrei portarlo nella cartella download, im modo da essere disponibile nella lista, senza usare la porta usb

risolto con File.DirRootExternal & "/Download"

anche se non vedo il file nella lista dei download effettuati.
 
Last edited:
Top