Pagina 1 di 1

http_get_file_download fallito

Inviato: 15/06/2019, 18:28
da Gmdiscover
Ciao a tutti

Mi sto cimentando sul comando http_get_file e felicemente sono riuscito a scaricare un file salvarlo sul mio pc :rockrock: :rockrock:

Meno felicemente mi sono reso conto che non riesco a scegliere una cartella definita , come ad esempio la cartella Download o la working_directory del programma :NO: :NO:

Mi spiego meglio , il programma scarica il file test.rar e lo mette in automatico nella cartella ..AppData\Local\emudownloader\Test.rar

Io vorrei riuscire a scaricarlo nella working_directory ma in qualsiasi caso fa tutto il procedimento di download ed alla fine mi da download fallito .

di seguito il codice :

Create :

file = "http://www......./Test" // link al file
des = "Test.rar" // directory di destinazione
download = http_get_file(file,des);
size = 0 ;
progress = 0 ;
image_speed = 0 ;

Asynk - http :

if ds_map_find_value(async_load,"id") = download {
if ds_map_find_value(async_load,"status") = 1 {
size = ds_map_find_value(async_load,"contentLength")
progress = ds_map_find_value(async_load,"sizeDownloaded")

}else if ds_map_find_value(async_load,"status") = 0{
show_message("File download")}
else {show_message("Download failed")
}

}

Draw gui:


if size > 0 && progress > 0 {
var file_size = ceil(size/1024)
var file_progress = ceil(progress/1024)
var percent = progress/ (size/100)
draw_text(16,16,"Size : " + string(file_size))
draw_text(16,32,"Progress : " + string(file_progress))
draw_text(16,48,"Percent : " + string(ceil(percent))+ "%")
draw_healthbar(16,68,room_width-16,64+8,percent,c_black,c_red,c_red,0,1,1)

}


Ora come dicevo cosi funziona senza problemi ..... ma io vorrei riuscire a poter selezionare la working directory ma non ne vuole sapere di funzionare ho provato con des = working_directory + "test.rar" ma continua a salvarmi il file in ..AppData\Local\emudownloader\Test.rar

Se invece provo a modificare la destinazione con qualsiasi opzione tipo : working_directory + "test.rar"

Mi da semplicemente download fallito alla fine

sapete darmi qualche dritta ? grazie in anticipo

Re: http_get_file_download fallito

Inviato: 15/06/2019, 23:57
da civic71
E' da molto che non utilizzo tali funzioni di GMS , ma il problema se ricordo bene è una questione di sicurezza.
Come dice questo messaggio del doc di GMS : "AVVERTIMENTO! Questa funzione potrebbe non funzionare come previsto a causa di GameMaker: Studio in modalità sandbox! Per ulteriori informazioni, consultare la sezione Limiti del file system."
Tratto da :http://docs.yoyogames.com/index.html?pa ... index.html

Immagino che l'unico sistema sia quello di prelevare ( da parte dell' utente/ giocatore ) , il file appena scaricato su Local e salvarlo in una nuova posizione tramite get_open_filename_ext e get_save_filename_ext.

Re: http_get_file_download fallito

Inviato: 16/06/2019, 8:27
da Gmdiscover
Ora sto provando una extension suggeritami da Doom13 su discord " Sandbox_killer "

Il problema potrebbe essere risolvibile , sto cercando di capire come far puntare direttamente alla cartella appdata indistintamente dall'utente , mi spiego meglio ...

ora scarica il file in C:\Users\Mylaptop\AppData\Local\emudownloader , se io do il programma a te il percorso ( nome utente ) cambiera' da Mylaptop a per esempio Mario ... , vorrei creare una procedura automatica che scarica il file ed a download terminato lo sposta in una posizione da me determinata per usarlo di conseguenza , senza far fare all'utente copia / incolla

Re: http_get_file_download fallito

Inviato: 16/06/2019, 11:48
da doom13
Gmdiscover ha scritto:Ora sto provando una extension suggeritami da Doom13 su discord " Sandbox_killer "

Il problema potrebbe essere risolvibile , sto cercando di capire come far puntare direttamente alla cartella appdata indistintamente dall'utente , mi spiego meglio ...

ora scarica il file in C:\Users\Mylaptop\AppData\Local\emudownloader , se io do il programma a te il percorso ( nome utente ) cambiera' da Mylaptop a per esempio Mario ... , vorrei creare una procedura automatica che scarica il file ed a download terminato lo sposta in una posizione da me determinata per usarlo di conseguenza , senza far fare all'utente copia / incolla
Prova dargli come percorso %localappdata% :cappa: