2012-06-23 35 views
1

我想在服务器上传一个jpeg图像文件。我有一个GoAhead web服务器,它只支持cgi c程序作为服务器端处理。如何使用用c语言编写的cgi程序上传图像文件?

任何人都可以知道如何处理cgi程序中的http发布的图像文件在cgi中的c语言?

+0

CGI?用C?我建议改变提供者。如果他们甚至不能提供php或perl(或任何其他脚本语言),他们就不应该提供。 –

+1

我必须使用c,因为这是嵌入式世界。 –

回答

0

获取POST数据只需读取stdin。环境变量CONTENT_LENGTH告诉你需要多少预期,但是当然你需要使你的代码对任何潜在的恶意用户可能会对你造成的威胁都是健壮的。

+0

是的,我可以使用CONTENT_LENGTH获取POSTED数据,但使用多部分浏览器上传时会添加多部分边界和一些标题。您知道如何删除边界吗? –

+0

是的,它正在这里工作。 –

0

为此,GoAhead Web服务器有一个文件上传过滤器。上传过滤器接收上传的文件并将其保存到磁盘。然后它设置一些描述上传的请求变量。这些变量可以通过CGI或通过动作函数或JST模板访问。

test.c中有一个例子。搜索uploadTest()。

参见:https://github.com/embedthis/goahead/blob/master/test/test.c