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á.
Tags:
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.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por