我尝试将带有XMLHttpRequest和FormData API的图像文件上传到我的G-WAN服务器,但我无法检索文件内容。这是h_entities中的输出:
-----------------------------75940917410019849751723987620 Content-Disposition: form-data; name="test_param" test_value
-----------------------------75940917410019849751723987620 Content-Disposition: form-data; name="uploadedFile"; filename="test.png" Content-Type: image/png PNG
"内容类型"是multipart / form-data。有没有人设法将文件上传到G-WAN?我找不到一个例子。谢谢!
答案 0 :(得分:0)
我花了最后几个小时为G-WAN v3.10 +写了一个名为entity.html
的专用示例(一个带有[browse]
按钮的表单,POST
一个文件)调用entity.c
servlet(报告有关POST
实体的所有内容并列出其前1,000个字节)。
您的G-WAN版本3.3将首先命中的是POST实体大小限制 - 您将收到HTTP错误413(请求实体太大)。
我编写了一个名为entity_size.c
的servlet示例来说明如何修改此限制(这可以在处理程序或servlet中完成,并且随时都可以。)
您必须做的第二件事(以及使用G-WAN v3.10 +自动完成)是加载尚未加载HTTP请求的实体的任何缺失部分(在v3.3中)这将需要处理器使用返回代码来读取更多内容,直到所有内容都加载完毕。
这两点是反复出现的问题(在现已解散的论坛上),所以是时候举一个例子了。
所以,除非你非常勇敢(并且愿意遵循上述指示),否则你已经明白,等待本月晚些时候发布的v3.10可能会更好:它会为你和你做好工作将有几个经过测试的例子可供学习。
请注意,还可以调用entity.c
来分析任何类型的请求,而不仅仅是multipart/form-data
个编码,而不仅仅是POST
个请求(它还会演示PUT
和{ {1}})。
最后一点:我还修改了代码,以确保在servlet DELETE
中列出了URI参数和POST/PUT
实体。
这允许以下内容:argc/argv main()
您需要访问POST /?blog/user/1245/day/24
和user=1245
(以及实体)才能阅读day=24
。
希望这对您的项目有所帮助!