包裹:matlab.net.http.io
超类:手柄
那matlab.mixin.heterogeneous
用于HTTP消息有效载荷的ContentProvider
一种内容提供商为HTTP提供数据要求询问
虽然发送了消息。简单的提供商将数据从MATLAB转换为®输入到字节流。更复杂的提供商可以将数据传送到服务器,同时发送或生成数据,这避免了在消息开始之前在内存中拥有所有数据。
通常,在向Web服务发送数据时(通常在PUT或POST请求中)时,您将创建一个要求询问
并以消息体
对象在RequestMessage.Body.
财产。当您发送消息时RequestMessage.send
,MATLAB将该数据转换为要发送到服务器的字节流,基于消息的内容类型和数据类型转换它body.data.
。看MessageBody.Data.
对于这些转换规则。
而不是插入一个消息体
对象进入RequestMessage.Body.
属性,您可以创建一个内容提供商
反对和插入。然后,当您发送消息时,MATLAB调用方法内容提供商
在发送消息时获取要发送的数据缓冲区。
是否插入一个消息体
或者内容提供商
进入消息,呼叫RequestMessage.send
直到已发送整个消息并且已接收到响应或发生错误,不会返回(即,它被阻止)。但与A.内容提供商
,MATLAB定期回调提供程序,以获取要发送的数据缓冲区,在发送被阻止期间。在这些回调中,您的内容提供商
可以从任何源获取数据,如文件、MATLAB阵列、硬件传感器、MATLAB函数等。提供商的工作是将该数据转换为字节流,以uint8缓冲区的形式发送到web。
内容提供商
是一个抽象类,为课堂作者设计为与自己的数据生成器或转换器的子类,或者您可以使用(或子类)一个Matlab提供程序一个,该提供程序从各种源生成数据,而无需编写子类。这些提供程序具有为您提供更灵活地控制数据如何获得和转换的选项,而与将数据直接插入a插入数据时发生的自动转换相比消息体
. 使用其中一个内容提供商
子类:
即使您不需要流数据,使用这些提供程序中的一个可以简化发送某些类型内容的过程,因为它们将数据从内部形式转换为auint8.
流动例如FormProvider.
允许您向服务器发送表单响应,在那里您可以方便地将数据表达为一个数组查询参数
物体。MultipartformProvider.
允许您发送多级表单响应,简化对多部分表单的响应的创建。使用任何内容提供商
,您需要了解服务器希望您发送的内容类型。
这matlab.net.http.io.contentProvider.ContentProvider.
班级是A.手柄
班级。
最简单的可能内容提供商
只需要实现一个getdata.
方法根据MATLAB的要求提供数据缓冲区。要使用提供程序,请将其插入身体
财产的财产要求询问
。在这个例子中,第三个论点要求询问
构造函数,答:myprovider.
对象,进入身体
:
Provider = MyProvider;req = matlab.net.http.requestmessage('put',标题,提供商);resp = req.send(URI);
下面是一个例子myprovider.
类,该类读取作为参数传递给构造函数的文件名并将其发送到web。为了更好地衡量,我们在文件末尾或删除此提供程序时关闭该文件。
classdef myprovider
MATLAB调用提供者的完成
方法在形成要发送的新消息时。目的是允许提供者为新消息做好准备并将任何所需的标题字段添加到邮件中。MATLAB调用提供者的开始
方法,但在第一次调用之前发送数据getdata.
。
contentConsumer.
|FileProvider.
|FormProvider.
|imageprovider.
|jsonprovider.
|消息体
|MultipartformProvider.
|MultiPartProvider.
|查询参数
|要求询问
|StringProvider.