Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Dúvida com HTT_GET file conrrompido

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
AdrianoPpaula
Membro
Membro
Reações: 0
Mensagens: 59
Localização: Quissamã RJ

Contato:

Dúvida com HTT_GET file conrrompido

Mensagem por AdrianoPpaula » Sex Mar 22, 2019 1:02 pm

Pessoal blz?
Estou fazendo um sistema de baixar arquivos mas fazendo alguns teste descobrir que o GM se comporta de maneira estranha, queria saber se existe uma maneira de contornar isso.

Tipo, quando você pede para baixar um arquivo com o http_get e você corta a internet, o GM entende que o downalod foi concluido, não sei se estou fazendo errado, vou colocar um exemplo simples aqui

CREATE

Código: Selecionar todos

file = http_get_file("https://MEU_ENDERECO/FILE.ini","working_directory+"\FILE.ini"); 
 

HTTP

Código: Selecionar todos

/// TENTANDO VEFIFICAR DOWNLOAD
if ds_map_find_value(async_load,"id") = file {
  if ds_map_find_value(async_load,"status") == 1 {
    DOWNLOAD EM ANDAMENTO!
  }
  else if ds_map_find_value(async_load,"status") == 0 { 
    DOWNLOAD CONCLUIDO!
  }
  else if ds_map_find_value(async_load,"status") < 0 {
    DOWLOAD FALHA!
  }
}
Vamos supor que o arquivo tenha um tamnho de 2 MB
se caso a internet cai ou for cortada o resultado da como concluido fazendo com que o arquivo fique corrompido no diretório =/
Imagem

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

Re: Dúvida com HTT_GET file conrrompido

Mensagem por Foxy Of Jungle » Qua Mar 27, 2019 2:58 pm

Na parte do código quando concluir, você checa o tamanho do arquivo com o:

Código: Selecionar todos

file_bin_size()
-Antes de usá-lo é preciso "abrir" o arquivo com file_bin_open()
Então se o arquivo baixado falhar quando tirar a internet, fazer esse procedimento e repetir o download automaticamente.

Você também pode usar esse comando para saber se há conexão com a Internet:

Código: Selecionar todos

os_is_network_connected()

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes