我考虑使用HTTP multipart返回动态生成的二进制流(例如mp4视频剪辑),后跟签名文件和其他内容,以一条单独的HTTP响应消息发送给客户端。在我的情况下,在构建http头字段时,无法设置mp4(响应消息的第一部分)的Content-Length,因为其大小未知。我需要使用multipart boundary分隔每个部分。但是有人告诉我,如果边界字符串出现在mp4数据中,multipart将无法工作。其他人建议对每个部分进行编码(例如BASE64编码),以便我可以选择具有非BASE64字符的边界,这些字符永远不会出现在http响应的任何部分中。问题在于,BASE64会增加33%的大小,这是我们无法接受的开销。
问题是:
有没有什么解决方法?我错过了什么吗?或者您可能知道更好的方法来做到这一点(我们必须在一个单独的HTTP响应中返回多个部分)?