Italian Download sequenza di immagini con httputils2

mrwebbit

Member
Licensed User
Longtime User
ciao a tutti

piccolo problema con HttpUtils2
dovrei scaricare da un server 60 immagini e salvarle in locale sullo smartphone per un utilizzo offline all'interno di un APP

se si tratta di fare il download di una sola immagine e salvarla in una mia cartella nota tutto OK, ma quando devo salvarne più di una arrivano i problemi

loop per download:

B4X:
Dim job1 As HttpJob
Dim nomefile_download As String
   
For i = 1 To 60
   
      job1.Initialize("Job1",Me) 
      'scarica il file
      nomefile_download = "6_" & i & ".jpg"
      job1.Download("http://www.xxx-xxx.it/app_android/6/" & nomefile_download)
      
Next

qui tutto OK si collega e scarica senza errori, nel "JobDone" come faccio per le immagini singole metto:

B4X:
Dim out As OutputStream
out = File.OpenOutput(File.DirInternal,"nomefile_download.jpg",False)
File.Copy2(Job.GetInputStream,out)
out.close

ma come faccio a passare la variabile "nomefile_download" al servizio di download? altrimenti (e ovviamente) mi salverà tutto con lo stesso nome una sopra l'altra.

MWB
 

worm

Member
Licensed User
Longtime User
Potresti dichiarare in Globals una variabile per tenere il conteggio del nome file e modificare il JobDone come segue:

B4X:
Sub Globals
   Dim num As Int = 1
End Sub

Sub JobDone (Job As HttpJob)
   Log("JobName = " & Job.JobName & ", Success = " & Job.Success)

   If Job.Success Then
      Dim Out As OutputStream
      Out = File.OpenOutput(File.DirInternal, "6_" & num & ".jpg", False)
      num = num + 1
      Job.GetBitmap.WriteToStream(Out, 100, "JPEG")
      Out.Close
   Else
      Log("Error: " & Job.ErrorMessage)
      ToastMessageShow("Error: " & Job.ErrorMessage, True)
   End If
   Job.Release
End Sub

Non ho testato se funziona ma dovrebbe ;) anche se probabilmente ti mischia le immagini..
 
Top