Main Content

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 属性设置为该部分的标头,然后在该代理中调用 initializestart。之后进行一次或多次 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 引发消息无效异常。

输入参数

全部展开

内容使用程序,指定为 matlab.net.http.io.MultipartConsumer 对象。

matlab.net.http.ResponseMessage 对象中的原始数据缓冲区,指定为非空 uint8 向量、uint8.empty[]。有关这些值的详细信息,请参阅 ContentConsumer.putData 方法的data输入参量。

如果 data[],表示消息已结束并且存在代理,则将代理的 Response 属性复制到此对象的 Response 中。

输出参量

全部展开

已处理的数据的长度,以双精度值或空双精度值形式返回。有关详细信息,请参阅 ContentConsumer.putData 中的 size 参量。

指示是否接收来自此消息的更多数据,返回为 truefalse。有关详细信息,请参阅 ContentConsumer.putData 中的 stop 参量。

属性

Accesspublic

版本历史记录

在 R2018a 中推出