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 中推出