首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用AsyncWebServer下载SPIFFS文件?

如何使用AsyncWebServer下载SPIFFS文件?
EN

Stack Overflow用户
提问于 2019-10-19 18:18:31
回答 1查看 1.3K关注 0票数 0

下面的Arduino ESP32代码创建了一个文件列表,我正在转换WiFi客户端/服务器项目以使用AsyncWebServer库。需要帮助从URL提取文件名,并能够检测文件名下载到异步Web服务器。

代码语言:javascript
复制
String str;

if (!SPIFFS.begin(true))
{
     Serial.println("An Error has occurred while mounting SPIFFS");
     return;
}

File root = SPIFFS.open("/");

File file = root.openNextFile();

while (file)
{

     if(strncmp(file.name(), "/LOG", 4) == 0)
     {
          str += "<a href=\"";
          str += file.name();
          str += "\">";
          str += file.name();
          str += "</a>";
          str += "    ";
          str += file.size();
          str += "<br>\r\n";

     }

     file = root.openNextFile();
}

client.print(str);

尝试为Asyncwebserver编写代码:

代码语言:javascript
复制
serverAsync.on(filename, HTTP_GET, [](AsyncWebServerRequest *request){
AsyncWebServerResponse *response = request->beginResponse(200, "text/plain", "Ok");
response->addHeader("Content-Disposition", "attachment");
request->send(response);
});

这段代码产生:带有正确文件名的下载窗口;但是,内容只是“ok”。

我最初的尝试是尝试用PHP做一些事情。我是一个经验不足的程序员与PHP和异步Web服务器。

威廉

EN

回答 1

Stack Overflow用户

发布于 2019-10-26 02:43:43

Solution to question provided by Pablo2048

关于这个问题的23条评论;几乎在底部,评论#21 Pablo2048解释了他的方法和解决方案的编码。

威廉

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58462654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档