c - 如何在 C CGI 中读取 POST 发送的文件?

标签 c http cgi

我看过多个帖子 all over Internet关于不同的方法,但我仍然没有找到合适的答案。

问题:我的 CGI 应用程序在嵌入式 Web 服务器中运行,我使用的语言是 C,我想做的是处理通过表单的 POST 请求发送的文件。

到目前为止,该应用程序一直在做所有事情而没有使用任何库,但现在我需要添加这个功能,但我真的不知道我可以使用哪个库来做到这一点。对于这样一个简单的目标,从头开始做似乎太复杂了。可能与其说是技术影响,不如说是浏览器之间可能存在的偏差。

有什么建议吗?

编辑:我希望能够从浏览器发布文件,并且我想避免使用多部分内容类型,因为这是开销...

最佳答案

使用 <input type="file"> 在浏览器中上传文件,您必须使用enctype="multipart/form-data" .这是不可协商的——文件输入根本无法使用默认表单编码 ( application/x-www-form-urlencoded )。

我强烈建议使用类似 Perl 的 CGI 之类的东西如果可以的话,模块来解析上传。但是,如果你绝对坚持使用 C,你可能想尝试像 https://github.com/iafonov/multipart-parser-c 这样的东西。 .

关于c - 如何在 C CGI 中读取 POST 发送的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17815067/

相关文章:

html - 使用 CGI 处理表单数据

c - 奇怪的 "half to even"不同语言的舍入

在 C 中更改数字数组中的值

html - 为什么 html 转义 >159?

javascript - 使用 AngularJS 和 Spring Boot 发布基本身份验证语义?

http - 共享主机、域名和 DNS 如何协同工作?

python - 标题之前的脚本输出结束

perl - 为什么我对 CGI 程序的 Perl 单元测试所有测试都失败了?

c - '(' token 之前的预期标识符

c++ - 插入C结构函数指针