putData
类: matlab.net.http.io.MultipartConsumer
命名空间: matlab.net.http.io
处理 MultipartConsumer 的下一个数据缓冲区
语法
[length,stop] = putData(consumer,data)
说明
[ 将 length,stop] = putData(consumer,data)data 的缓冲区累加起来,直到收集完 Multipart 消息的一个完整部分为止。然后,它根据该部分标头中的 Content-Type 字段查找可以处理该类型的合适的 ContentConsumer 代理,将代理的 Header 属性设置为该部分的标头,然后在该代理中调用 initialize 和 start。之后进行一次或多次 putData 调用,传入该部分的有效负载,最后调用 putData(uint8.empty) 指示有效负载结束。
最后一次调用代理的 putData 后,此方法创建一个 ResponseMessage,其中包含该部分的标头以及从代理的 Response.Body 中复制的 Body。(该 Body 可能包含数据,也可能不包含数据,取决于代理的作用。)它将这个新的 ResponseMessage 添加到此使用程序的 Response.Body.Data 属性中的 ResponseMessage 对象数组中,当到达消息末尾时,该数组中会包含对应于每一部分的 ResponseMessage。
此方法可覆盖 putData。如果您在消息结束之前(data 非空)覆盖此方法并返回 stop=true,以便在消息正常结束之前终止接收消息,那么您应该避免在随后的 putData(uint8.empty) 调用(在您设置 stop 后,MATLAB® 通常会进行此调用)中调用此超类方法。否则,将会因为消息提前结束而导致 MultipartConsumer 引发消息无效异常。
输入参数
输出参量
属性
Access | public |
版本历史记录
在 R2018a 中推出