有什么办法可以使用XMLHttpRequest发送分块请求?使用XHR的分块请求
用例正在将流式数据上传到服务器。我需要能够以较小的块上传二进制数据,但我宁愿避免为每个块发送完整的HTTP请求。
HTTP 1.1规范允许分块请求,但我一直无法在Javascript中找到任何示例。
感谢
有什么办法可以使用XMLHttpRequest发送分块请求?使用XHR的分块请求
用例正在将流式数据上传到服务器。我需要能够以较小的块上传二进制数据,但我宁愿避免为每个块发送完整的HTTP请求。
HTTP 1.1规范允许分块请求,但我一直无法在Javascript中找到任何示例。
感谢
我不知道,这实现了我的头顶部的库,但你可以使用原始XMLHttpRequest和进度回调。请记住,分块编码会以不可控制的间隔触发浏览器重新绘制,这些间隔根据浏览器而变化。
您可能想看看WebSockets,它们旨在用更方便用户的API来处理这种情况。
可能的。
您可以设置包含边界的requestHeader "Content-Type: multipart/form-data; boundary=xxxxxxxxxxxx"
,并使用正确的数据构造一个Buffer
对象。
并非所有的浏览器都支持Buffer
,所以您应该先测试一下。就我而言,Chrome和Firefox运行良好。
感谢您的回复。我知道我可以使用XHR回调来监视来自HTTP服务器的分块响应,但我正在讨论将初始请求的主体发送到小部分,而不是一次发送。 如果XHR不提供此功能,我可以回退到WebSockets,但我很想知道它是否可能。 – n0w 2014-10-01 06:12:03