乐鑫技术交流
直播中

微风挽雨

9年用户 907经验值
擅长:可编程逻辑 电源/新能源 嵌入式技术
私信 关注
[问答]

如何通过esp_http_client从ESP32 SPIFFS上传文件到URL?

我在 C 中使用 ESP32S3 和 ESP-IDF。我需要使用 HTTP post 请求将存储在 SPIFFS 中的文件上传到 URL。

我发现我必须为此使用 esp_http_client 和 application/form-data,因为文件大小小于 10KB。我是 esp 的新手,因此遇到了麻烦。

有效的 Linux 命令是:

curl --location --request POST ' https://url ' --form 'filename=@"/path/to/file.log"'

我需要知道如何实现相同的通过 esp_http_client API。我在网上看到了一些发布 JSON 的示例,但没有找到任何文件。

我写了这样的部分代码:

{

        //Initialize spiffs

        esp_http_client_config_t config_post =

        {   

                .url = " https://url ",

                .method = HTTP_METHOD_POST,

                .cert_pem = NULL

        };

        esp_http_client_handle_t client = esp_http_client_init(&config_post);           

        esp_http_client_set_post_field( <我在这里写什么?文件位置:/spiffs/file.log>) ;

        esp_http_client_set_header(client, "Content-Type", "application/form-data");

        esp_http_client_perform(客户端);

        esp_http_client_cleanup(客户端);
我真的很感激任何帮助

回帖(1)

咸鱼

2024-8-6 10:48:10
您好,请问下这个实现了么?现在我也在做这个功能,想请教下
举报

更多回帖

发帖
×
20
完善资料,
赚取积分