如何发送 jpeg 的多部分响应
Posted
技术标签:
【中文标题】如何发送 jpeg 的多部分响应【英文标题】:How to send multipart response of jpegs 【发布时间】:2016-04-18 15:05:46 【问题描述】:在 ios 应用程序中具有嵌入式 HTTP 服务器,我如何使用多部分消息响应 HTTP 请求? 我想在多部分响应 (MJPEG) 中异步发送 JPEG。
我已经尝试使用 GCDWebServer 这样做,如果它不支持,任何可行的替代方案都可以,只要它也可以在 iOS 上运行。
【问题讨论】:
也许 Alamofire 的这个实现可以帮助你:***.com/questions/26121827/… Alamofire 文档可以在这里找到:github.com/Alamofire/Alamofire 【参考方案1】:GCDWebServer 没有用于创建多部分消息的内置 API。您需要编写这样的代码并输出一个 NSData
对象,然后将其包装成一个 GCDWebServerDataResponse
并返回给 HTTP 客户端。
【讨论】:
HTTP 的工作方式,每个请求只能发送一个响应。 这在技术上并不准确,您可以在不同的时间将响应作为块发送(这样它会暂停“第一个”块关闭请求)-> 用于相同的请求。 Motion-JPEG 利用了它,例如参见 en.wikipedia.org/wiki/Motion_JPEG 感谢您让我知道 GCDWebServer 不直接支持它,并且感谢您创建这个有用的库:) 如果有解决方案会很好。 不,不,它在技术上是正确的。仅仅因为您以多个块发送响应,并不会使其成为多个响应:) 请注意,GCDWebServer 确实支持请求和响应的块内容编码,GCDWebServerStreamedResponse
利用了这一点。以上是关于如何发送 jpeg 的多部分响应的主要内容,如果未能解决你的问题,请参考以下文章
如何从文件系统发送包含 json 字符串和大文件的多部分数据的 HTTP 请求?
多部分消息以文本/纯文本而不是 java 中的多部分/替代形式发送