我正在尝试使用网页将文件上传到嵌入式服务器。一些谷歌搜索向我展示了如何使用文件选择器的网页,并且工作得很好。
我遇到的问题是我无法让浏览器发送除第一个POST数据包以外的任何内容,该数据包提供文件名,并查看TCP数据,它发送的文件的前几个字节。但是,即使我尝试结束HTTP OK和HTTP无数据返回,也不会再从浏览器中获取更多数据。
我使用过这个HTML:
<form action='' method='POST' enctype='multipart/form-data'> \
<input type='file' name='userFile'><br> \
<input type='submit' name='upload_btn' value='upload'> \
</form>
这肯定会发送一个TCP POST数据包,其中包含一些信息,例如filename =,编码类型,最终看起来就像文件本身的前几行。
我尝试将嵌入式服务器发回的确切地说是:
&#34; HTTP / 1.1 200 OK \ r \ n内容类型:text / html \ r \ n \ r \ n&#34;
或者
&#34; HTTP / 1.1 204无内容\ r \ n&#34;
既没有说服浏览器将下一个文件块发送到服务器。任何人都可以建议我做错了吗?
非常感谢。
答案 0 :(得分:0)
啊,回答我自己的问题,不太可能希望它帮助别人,问题是我正在关闭连接。我忘记了它不像普通的事务,你发送信息然后关闭套接字。如果我保持套接字打开并继续监听即将发生的事情,浏览器将继续发送文件的其余部分。重要的是,我认为,要准确监视正在发生的内容,发送文件的大小,然后在收到所有信息后关闭套接字。