如何发送 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 请求?

如何将iphone屏幕截图保存为jpeg图像?

发送包含嵌入图像的多部分 html 电子邮件

多部分消息以文本/纯文本而不是 java 中的多部分/替代形式发送

收到响应后,是不是可以选择删除 REST API(RestAssured) 中请求中设置的多部分内容?

带有 JSON 参数的多部分数据 Alamofire