matlab.net.http.io.MultipartConsumer类
包:matlab.net.http.io
超类:matlab.net.http.io.GenericConsumer
助手在HTTP消息多部分内容类型
描述
这个消费者处理多部分HTTP响应消息。一个多部分消息的内容类型头字段指定“扇形”
,他的身体包含一个或多个部分。每个部分包含自己的头字段描述部分,最重要的是一个内容类型字段。
的matlab.net.http.io.MultipartConsumer
类是一个处理
类。
子类的作者
如果你自己去写ContentConsumer
,它将通常工作无论是顶级消费者(作为第三个参数指定RequestMessage.send
方法)或多部分消息的一部分(当指定为一个“代表”MultipartConsumer
构造函数调用)。MultipartConsumer
使它看起来好像是每个委托处理整个响应消息,而实际装配的结果为一个数组ResponseMessages
返回存储在response.Body.Data
财产。
下面描述了MultipartConsumer
行为:
每一次这MultipartConsumer
收到一个完整的信息从服务器的一部分,它解析任何头部分,然后调用适当的代表消费者适合部分中的content - type字段。如果没有部分中的内容类型字段,它假定类型文本/平原
。如果没有委托能够处理类型,它使用默认处理部分内容类型的基础上,所述GenericConsumer
。
MultipartConsumer
不调用委托,直到它收到一个完整的部分。MultipartConsumer
缓冲区的数据部分,最后收到的部分,它复制所有可见的属性ContentConsumer
从这个消费者委托,扫清了委托的Response.Body
,设置委托头
头的部分,然后调用委托的初始化
和开始
方法,紧随其后的是一个或多个调用委托putData
包含部分的载荷方法,其次是调用putData (uint8.empty)
表示数据结尾。如果委托的初始化
方法返回假
表明它不希望处理的部分,处理部分使用默认行为的有效负载的content - type部分所描述的GenericConsumer
。
如果委托的开始
方法返回[]
表明没有最大所需的缓冲区大小,MultipartConsumer
只是一个电话putData
提供的全部有效载荷部分,其次是数据结尾的电话。否则它调用putData
足够的时间来供应整个负载缓冲区大小的单位。
如果委托的putData
方法设置停止
返回值为真正的
表明它不希望任何更多的数据,然后MultipartConsumer
关闭连接结束转移,仿佛已经结束的消息。以这种方式委托控制原始消息的其余部分是否应该处理。如果putData
返回一个大小
的[]
,那么消息也结束了,但有一个例外扔给调用者RequestMessage.send
。
如果消费者是指定为一个函数处理,而不是一个ContentConsumer
实例,那么函数只需要第一次消费,并随后同一个消费者实例是用于任何适当的部分相同的响应消息。部分处理函数处理,相应的ResponseMessage
在Response.Body.Data
只包含一个头的部分,因为没有访问函数ResponseMessage
的身体。
授权使用者可以通过它访问这个消费者及其属性MyDelegator
财产,但很少是必要的。
创建
描述
输入参数
类型
- - - - - -内容类型
字符串数组|特征向量|单元阵列的特征向量
内容类型,指定为一个字符串数组,特征向量,或单元阵列特征向量。类型
指定使用的语法内容类型“类型/子类型”
。有关更多信息,请参见matlab.net.http.io.GenericConsumer
。
消费者
- - - - - -内容消费
matlab.net.http.io.ContentConsumer
|函数处理
内容消费,指定为一个matlab.net.http.io.ContentConsumer
对象可以处理指定的类型,或一个函数返回的句柄ContentConsumer
可以处理这些类型。
puthandle
- - - - - -putData函数
函数处理
处理一个putData
用下面的函数ContentConsumer.putData
语法:
(长度、停止)= putData(数据)
在哪里数据
是一个uint8
数组和长度
是这个数组的长度。
使用这个语法来处理所有输入从服务器使用一个函数,当你知道服务器返回的数据类型。没有访问的函数ResponseMessage
或任何信息关于这个消费者。
属性
公共属性
序言
- - - - - -内容之前先分隔符
uint8
多部分消息的第一个边界分隔符之前,如果有的话,指定为uint8
。消费者的集序言
在调用之前开始
委托的方法。一旦设置,序言
值不会改变。
属性:
GetAccess |
公共
|
SetAccess |
私人
|
后记
- - - - - -内容后,最后一个分隔符
uint8
多部分消息的最后边界分隔符后,如果任何,指定为uint8
。消费者的集后记
当消息结束时,毕竟代表。如果没有设置一个委托终止消息的传输结束前。您可以检查这个属性转移完成后,例如,当RequestMessage.send
的回报。
属性:
GetAccess |
公共
|
SetAccess |
私人
|
ContentLength
- - - - - -预期的负载
uint64
|空
预期负载长度指定为uint64
。房地产通常是价值
财产的matlab.net.http.field.ContentLengthField
在头
财产。
如果ContentLength
是空的,那么长度是未知的。负载结束时putData (uint8.empty)
被称为。
MATLAB调用之前设置这个属性初始化
,为方便子类可能受益于知道数据的长度。
如果这ContentConsumer
为代表的顶级消费者,那么的价值呢ContentLength
可能是不同的ContentLength
顶级消费者的价值。
例子:元素个数(someData)
在哪里someData
是类型uint8
属性:
GetAccess |
公共
|
SetAccess |
公共
|
ContentType
- - - - - -媒体类型的负载
matlab.net.http.MediaType
|空
媒体类型的负载,指定为一个matlab.net.http.MediaType
对象。房地产通常是价值
财产的matlab.net.http.field.ContentTypeField
在头
财产。如果ContentType
属性是空的,那么ContentTypeField
为空或不存在。
MATLAB调用之前设置这个属性初始化
为方便子类可能想检查MediaType
。子类可以设置这个属性,如果他们决定从数据是不同的MediaType
。
的转让、MATLAB这个值复制到Response.Body.ContentType
财产。
例子:的应用程序/八进制
属性:
GetAccess |
公共
|
SetAccess |
公共
|
头
- - - - - -头当前正在处理的有效载荷
matlab.net.http.HeaderField
头目前正在处理的有效载荷,指定为一个matlab.net.http.HeaderField
对象。
消费者使用这个头来决定如何处理的有效负载发送到他们。对于一个顶级消费者,这个值是一样的Response.Header
。对于一个委托,价值可能有所不同。例如,在一个多部分消息处理MultipartConsumer
,它的头是这一部分委托处理。委托仍然可以检查Response.Header
原始消息的标题。
MATLAB调用之前设置这个属性初始化
,为方便子类。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
请求
- - - - - -完成RequestMessage
这是发送
matlab.net.http.RequestMessage
完成的RequestMessage
被指定为一个matlab.net.http.RequestMessage
对象。这是最后的RequestMessage
毕竟重定向,即completedrequest
返回值的发送
方法。
MATLAB调用之前设置这个属性初始化
,为方便子类。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
响应
- - - - - -ResponseMessage
正在处理
matlab.net.http.ResponseMessage
的ResponseMessage
正在处理,指定为一个matlab.net.http.ResponseMessage
对象。
MATLAB设置响应
财产之前调用初始化
。的值是ResponseMessage
头后收到了但是在接受任何负载。开始的时候响应消息处理(或多部分消息部分)的开始,ResponseMesssage.Body
属性是一个MessageBody
对象与空数据
和有效载荷
属性。存储接收的数据,消费者可以修改响应
和MessageBody.Data
在数据传输性能。通常,消费者这一过程,然后存储数据集Response.Body.Data
处理负载,但这不是必需的。在完成转会,MATLAB返回响应
给调用者的发送
。消费者不应修改响应
的属性,如头
或状态栏
,因为这些变化是返回给调用者发送
。
的Response.Body.Payload
属性是空的在转移和消费者不应该试图修改它。如果HTTPOptions.SavePayload
属性设置,然后用MATLAB集有效载荷
最后收到有效载荷的传递消息的或部分(后调用putData (uint8.empty)
)或当发生异常。
如果一个例外发生在消费者在消息处理,然后MATLAB抛出textbox
对象。的历史
属性包含这响应
价值。
如果消费者是一个委托,处理多部分消息的一部分,Response.Header
包含整个消息的标题,有效载荷
和数据
的属性Response.Body
调用前被清除ContentConsumer
对于每一个部分。在每个部分的结论,一个新的ResponseMessage
添加到数组的末尾的ResponseMessage
在原始响应对象Body.Data
包含头
从这个对象身体
从这个属性。下一个委托看到新鲜响应
空着MessageBody
,而不是之前的委托MessageBody
。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
依赖 |
真正的
|
URI
- - - - - -目的地的请求正在处理
matlab.net.URI
目的地的请求正在处理,作为一个指定matlab.net.URI
对象。这个值是由最初的目标URI发送
。它不是一个代理的URI或重定向后的最终URI。
MATLAB调用之前设置这个属性初始化
,为方便子类。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
受保护的属性
PutMethod
- - - - - -处理委托putData的方法
函数处理|[]
putData
方法的委托,指定为一个函数处理,或指定为[]
如果CurrentDelegate
是集。
属性:
GetAccess |
受保护的
|
SetAccess |
受保护的
|
AppendFcn
- - - - - -函数调用putData
添加额外的数据
函数处理
处理函数,指定为一个函数,调用putData
方法来添加额外的数据。的putData
方法在这类调用AppendFcn
函数接收的附加数据数据
现有参数响应消息中的数据。函数必须有签名:
newdata AppendFcn(消费者)
在哪里newdata
是要添加到数组的数据吗consumer.Response.Body.Data
。这是这种方法更新的责任consumer.CurrentLength
以反映新的长度数据
。如果newdata
结束为空,这表示流,那么函数应该更新Response.Body.Data
其最终值。
默认的行为,如果这个属性为空,将使用一个内部函数数据
一个数组的支持任意值金宝apphorzcat
函数。它有效地增加了newdata
由preallocating空间,维护CurrentLength
实际存储的数据的长度。最后的消息,它截断Response.Body.Data
来CurrentLength
。
子类可以更改此属性horzcat
不适合添加过程。例如,当一个StringConsumer
构建一个标量字符串,它将添加到字符串使用+
函数来代替horzcat
。
不调用子类ContentConsumer.putData
添加数据,或者感到满意horzcat
行为附加数据时,可以忽略该属性。
例子:@customAppend
在哪里@customAppend
被定义为消费者
属性:
GetAccess |
受保护的
|
SetAccess |
受保护的
|
CurrentDelegate
- - - - - -ContentConsumer
这种消费者授权
matlab.net.http.io.ContentConsumer
|[]
的ContentConsumer
这种消费者委托,作为指定matlab.net.http.io.ContentConsumer
对象。的delegateTo
方法的调用消费者(委托)设置CurrentDelegate
财产。如果没有当前的代表团,值[]
。
MATLAB集CurrentDelegate
来[]
在调用之前初始化
。
属性:
GetAccess |
受保护的
|
SetAccess |
受保护的
|
CurrentLength
- - - - - -目前的数据长度Response.Body.Data
uint64.empty
(默认)|uint64
目前的数据长度Response.Body.Data
属性,指定为uint64
。
此属性时使用Response.Body.Data
被预先分配一个大小比实际当前存储的数据量大,显示存储的数据的长度。如果这个属性是空的,那么它意味着所有的Response.Body.Data
包含,或者存储数据ContentConsumer
子类是处理数据以某种方式以外的存储Response.Body.Data
。
使用这个属性和设置的putData
在这个基类方法AppendFcn
属性是空的。调用子类的好处putData
和想要检查已数据,和/或任何的实现AppendFcn
维护结果Response.Body.Data
。
子类使用putData
也可以修改这个属性重置数据存储在缓冲区中的位置。例如,当默认值AppendFcn
使用函数,处理所有的子类Response.Body.Data
在每次调用putData
可能不再有使用原始数据,所以它可以重置CurrentLength
属性1,下一个putData
使用新数据调用覆盖缓冲。不需要明确的元素在缓冲区的过去结束的新数据。
不调用子类putData
可以使用这个属性来跟踪自己的数据,或者可以把它复原(空的)。MATLAB不发生任何限制的值可以设置和不使用它为任何目的除了确定默认AppendFcn
应该存储下一个缓冲区的数据,截断数据的最后消息。将此属性设置为空之前最后的呼吁putData (uint8.empty)
为了防止数据的截断。
MATLAB每次调用之前将此属性设置为空初始化
。
属性:
GetAccess |
受保护的
|
SetAccess |
受保护的
|
MyDelegator
- - - - - -ContentConsumer
委托给这个消费者
matlab.net.http.io.ContentConsumer
|空
的ContentConsumer
委托给这个消费者,作为一个指定matlab.net.http.io.ContentConsumer
对象。如果消费者是一个委托调用另一个消费者,例如GenericConsumer
或MultipartConsumer
消费者,那么这就是调用。它是空的顶级消费者调用中指定发送
。
代表可以使用这个属性来访问属性有,例如,确定哪些消费者委托给他们。
属性:
GetAccess |
受保护的
|
SetAccess |
受保护的
|
方法
公共方法
初始化 |
MultipartConsumer准备新的HTTP消息 |
开始 |
MultipartConsumer开始数据传输 |
putData |
MultipartConsumer处理下一个缓冲区的数据 |
delegateTo |
委托另一个消费者 |
更多关于
类层次结构
版本历史
介绍了R2018a
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。