Download log.txt (sd card) via WEB com W5100 + Uno

Estou com dificuldade em fazer o download do arquivo "log.txt" a partir de uma pagina hospedada no arduino com w5100.

Estou rodando a pagina a partir do arduino com comandos client.println(F(" "));
O SD fica responsável somente p/ registrar as variáveis. 


Fiz um botão de download onde abre uma nova pagina a partir do GET /download.

Consigo imprimir os valores nessa nova pagina porem não consigo fazer o download do arquivo .txt completo.

Preciso clicar no download e com isso iniciar o download do log.txt.


Se alguém puder me ajudar fico grato desde já.

  

Exibições: 353

Responder esta

Respostas a este tópico

Consegui!

Vou postar a parte do código que interessa a quem esta com a mesma dificuldade.

 client.println(F("<a href='http://192.168.0.199/log.txt' download='log.txt'>DOWNLOAD</a>"));

O comando acima cria uma segunda pagina onde vamos imprimir os dados contidos dentro do log.txt e também contem o comando downloand='log.txt' que executa o download

if (StrContains(HTTP_req, "GET /log.txt")) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: application/download");
client.println("Content-Disposition: attachment; filename=log.txt");
client.println("Connection: close");
client.println();
webFile = SD.open("log.txt"); // open file
if (webFile)
{
while(webFile.available())
{
client.write(webFile.read()); // send file to client
}
webFile.close();
}
delay(1); // give the web browser time to receive the data
client.stop(); // close the connection
}

Os comandos acima abre o arquivo log.txt do SD e imprime na pagina 192.168.0.199/log.txt
O comando Content-Disposition: attachment; filename=log.txt indica que a pagina contem um arquivo em Anexo.

Feito isso consegui criar um link para download do LOG.TXT na pagina que funciona com gauges via API do google (online) e outra mais simples que também tem o botão de download que joga para o mesmo endereço 192.168.0.199/log.txt

Espero que esse tópico possa ajudar alguém, pois foi difícil entender como funciona. 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço