Javascript ESP 32异步Web服务器是否下载.txt文件?

Javascript ESP 32异步Web服务器是否下载.txt文件?,javascript,html,arduino,webserver,esp32,Javascript,Html,Arduino,Webserver,Esp32,我使用的是ESP32,我使用的是一个异步Web服务器,在某个时候我必须按html界面的一个按钮将数据保存在一个名为test.txt的文件中,并在保存到浏览器的最后自动下载这个文件,我试着使用下面的代码,按钮工作,保存功能工作,但最终获得的文件没有下载到浏览器!!请问我该怎么做才能解决这个问题?多谢各位 server.on(“/Rgs”,HTTP_-GET,[](AsyncWebServerRequest*request){ Serial.println(“/Rgs exécuted…”); sa

我使用的是ESP32,我使用的是一个异步Web服务器,在某个时候我必须按html界面的一个按钮将数据保存在一个名为test.txt的文件中,并在保存到浏览器的最后自动下载这个文件,我试着使用下面的代码,按钮工作,保存功能工作,但最终获得的文件没有下载到浏览器!!请问我该怎么做才能解决这个问题?多谢各位

server.on(“/Rgs”,HTTP_-GET,[](AsyncWebServerRequest*request){
Serial.println(“/Rgs exécuted…”);
saveValues();//用于在test.txt文件上保存值的函数
请求->发送(SPIFFS,“/test.txt”,“text/html”,true);
});

您需要使用
request->beginResponse()
创建一个响应对象,该对象生成了一个实例,该实例为文件下载设置了正确的http头(例如“内容处置”、“内容编码”)

我还没有测试代码,但这将是关于代码所需内容的一般指导:

server.on("/Rgs", HTTP_GET, [](AsyncWebServerRequest *request){
  Serial.println(" /Rgs exécuted ...");
  saveValues();  // function to save values on test.txt file
  AsyncWebServerResponse *response = request->beginResponse(SPIFFS, "/test.txt", "text/plain", true);
  request->send(response);
});

谢谢,我试过了,它编译正确,但不起作用。下载的HTML设置如何?您的
saveValues()
做什么?也许您应该更新您的问题,并在处理下载请求时提供有关html页面和代码的信息。