HTML文件上传服务器问题

标签 html http tcp

我正在尝试获取网页以将文件上传到嵌入式服务器。一些谷歌搜索向我展示了如何使用文件选择器创建网页,并且效果很好。

我遇到的问题是,除了第一个给出文件名的 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 数据包,其中包含大量信息,例如文件名 =、编码类型以及文件本身的前几行。

我尝试让嵌入式服务器发回的确切内容是:

“HTTP/1.1 200 OK\r\n内容类型:文本/html\r\n\r\n”

或者

“HTTP/1.1 204 无内容\r\n”

两者都不说服浏览器将文件的下一个 block 发送到服务器。谁能告诉我我做错了什么?

非常感谢。

最佳答案

啊,回答我自己的问题,不太可能希望它能帮助别人,问题是我正在关闭连接。我忘记了它不像发送信息然后关闭套接字的正常事务。如果我保持套接字打开并继续监听传入的内容,浏览器将继续发送文件的其余部分。我认为,重要的是要准确监控传入的内容、正在发送的文件的大小,然后在收到所有信息后关闭套接字。

关于HTML文件上传服务器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28504579/

相关文章:

html - 如何将图像放置在覆盖多个 div 的内容之上,并将其固定在那里?

php - PHP 中的 "Transfer-Encoding: chunked" header

http - RESTful 数据结构模式

optimization - 增加tcp级吞吐量的建议

python - 通过 TCP 使用 Python 连接 Teltonika 设备

wcf - 如何实现Windows Phone 7流式上传到PC

javascript - 悬停时的 Animate.css

javascript - 我如何使用 "document.location.href"& 在同一个元素中有一个不激活它的按钮

Angular 4 向控制台打印消息

javascript - CSS 星形单选按钮