主要内容

matlab.net.http.io.ImageProvider类

包:matlab.net.http.io
超类:matlab.net.http.io.ContentProvider

发送ContentProviderMATLAB图像数据

描述

使用一个ImageProvider对象转换和发送MATLAB®HTTP中的图像数据RequestMessage.此提供程序将数据转换为标准类型之一,由请求的Content-Type或此对象中的属性指定。此提供程序还将图像文件转换为不同的格式。

对象中指定图像内容类型RequestMessage例如,“图像/ jpeg”而且RequestMessage。身体是一个MessageBody包含你的图像数据,然后MATLAB假设MessageBody。数据是图像数据,并尝试适当地转换它。要控制数据转换的方式,请使用ImageProviderRequestMessage。身体

如果RequestMessage不包含Content-Type报头字段,则此提供程序将适当的图像Content-Type添加到报头。否则,即使报头字段的值与Content-Type字段不一致,也不会修改报头字段,并按照此对象的属性中指定的方式进行转换。

matlab.net.http.io.ImageProvider类是一个处理类。

创建

描述

provider = ImageProvider(数据__arg1、…,argN创建一个转换MATLAB图像的提供者数据指定的格式__arg1、…,argN,设置数据财产数据参数财产__arg1、…,argN

provider = ImageProvider(文件名__arg1、…,argN从文件中获取映像数据文件名并以指定的格式发送__arg1、…,argN或Content-Type字段,设置文件名财产文件名

虽然此提供程序可以将一种格式的文件转换为另一种格式的数据,但它并不是为发送图像文件而设计的。若要发送文件而不更改其类型,请使用FileProvider

属性

全部展开

公共属性

这是作为构造函数的Data参数指定的值(如果有的话),或者是从文件名论点。在发送包含此提供程序的消息之前,将此值设置为字符串标量或字符向量。

方法之前,如果子类作者想设置此属性开始方法中的值,然后在完整的方法。如果更改此属性,则更改将在下一次调用时生效开始

属性:

GetAccess
公共
SetAccess
公共

的参数imwrite函数,指定为单元格数组。这是指定给构造函数的值,其中包含文档中的参数列表imwrite,但省略图像数据和文件名参数。

子类作者可以在MATLAB调用之前设置此属性开始例如,在完整的.如果更改了这些值,则更改直到下一次调用开始

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的

包含图像数据的文件名称,以字符串形式指定。属性指定的值文件名参数,如果有的话。只读。

的格式文件名派生自文件扩展名,该扩展名可能与fmt论点__arg1、…,argN或消息中的内容类型。此构造函数语法允许您将一种格式的图像文件发送到需要另一种格式的服务器。但是,有些转换是不兼容的。例如,您不能将JPEG等RGB文件转换为GIF格式。

属性:

GetAccess
公共
SetAccess
私人

消息或部分的报头字段,指定为一个或多个向量matlab.net.http.HeaderField对象。

此属性仅供子类作者使用。MATLAB在调用提供者的属性之前设置此属性完整的方法。对于非多部分消息,MATLAB将此属性初始化为的内容请求。头,减去任意matlab.net.http.field.GenericFields或者空值字段。的内容提供者使用此属性可添加描述要发送的数据的报头字段,或向消息中已存在的报头字段添加参数。的委托中MultipartProvider, MATLAB将此属性初始化为委托提供程序打算为该部件插入的报头字段。委托可以修改或更改这些字段。

从提供商返回时完整的方法,如果这不是一个多部分消息,则MATLAB读取该属性并将其内容合并到的头文件中请求.这里的字段的名字还没有出现在请求。头都加到末尾请求。头.如果一个场在这里有一个的名字等于1 in请求。头,两者都有nonempty,那么:

  • 如果在请求。头是一个GenericField,然后忽略其中的

  • 如果在请求。头不是GenericField,然后将其替换为in

如果其中一个或两个都是空的价值,则该字段将从请求。头并且它不是作为正常消息完成的一部分添加的。

如果这是一个委托MultipartProvider,然后是整个内容用作部件的标头。多部分委托不能这样假设请求。头包含属于它们自己的任何字段.提供程序可以通过检查是否确定它是否是多部分委托MyDelegator是一个MultipartProvider,尽管这项测试不太可能需要。

MATLAB只在调用提供者的返回值时读取此属性完整的方法。一旦MATLAB调用,对该数组的更改将被忽略开始

类的作者应该意识到他们的子类可能已经向这个添加了字段(在他们完整的方法)。完整的在他们的超班。最好保留这些字段,不要添加具有相同名称的字段。但是,向字段中添加参数是允许的。例如,超类可以向现有的Content-Type字段添加字符集参数。

属性:

GetAccess
公共
SetAccess
公共

指示是否强制分块传输编码,指定为布尔值。此属性仅与子类作者有关,并且仅适用于非多部分委托的提供者。子类集ForceChunked控制是否使用分块传输编码发送内容。如果(默认),MATLAB决定是否发送分块的内容,基于它是否知道消息准备发送时的内容长度:

  • 如果MATLAB知道内容长度(如果消息包含content - length字段,或者该提供者的expectedContentLength方法返回一个数字),然后MATLAB决定是否将其分块发送。

  • 如果MATLAB不知道内容长度(没有content - length字段在头部和expectedContentLength返回空),则MATLAB始终将消息分块发送。

如果ForceChunked真正的,则无论MATLAB是否知道内容长度,除非已知长度小于数据块大小,MATLAB都会将消息分块发送。如果此属性为真正的,则消息必须不包含Content-Length字段,因为HTTP不允许分块消息具有Content-Length字段。方法中返回非零值expectedContentLength方法,如果您想让MATLAB验证您正在返回预期的数据长度。

当MATLAB选择将消息分块发送时,每个分块的大小等于返回的数据的长度getData

函数后,MATLAB读取此值完整的方法,在调用之前开始.它不设置这个字段。

属性:

GetAccess
公共
SetAccess
公共

要发送的请求消息,指定为matlab.net.http.RequestMessage对象。

此属性仅供子类作者使用。的RequestMessage.send而且RequestMessage.complete方法将此属性设置为RequestMessage在谁的身体在调用此提供程序中的任何其他方法之前,在添加任何其他报头字段或验证消息之前,已经放置了此提供程序。提供者可以检查此消息,以查看原始请求中包含的内容。

委托看到的此属性值与委托看到的相同。内容提供者应该意识到,如果它们是委托,它们不一定提供请求消息的整个主体,所以它们不应该假设这个请求中的报头字段与它们所提供的数据相关。通常,委托应该忽略此请求中与数据相关的报头字段,例如Content-Type。

如果提供者希望向此消息添加任何报头字段,或修改现有的报头字段,则应该在其完整的方法,将这些字段添加到财产。打电话的人完整的RequestMessage或委托提供者)决定如何处理这些字段。RequestMessage.send而且RequestMessage.complete始终将这些字段复制到RequestMessage.委托提供程序可以将字段复制到自己的字段属性,或将它们插入到消息中(如MultipartProvider).有关更多信息,请参见财产。

此属性是只读的。

属性:

GetAccess 公共
SetAccess matlab.net.http.RequestMessage

受保护的属性

内容提供者提供程序委托给的对象,指定为matlab.net.http.io.ContentProvider对象。类在调用提供程序(委托)中设置此属性delegateTo方法来指示当前委托的提供程序。如果没有当前委托,则该值为空。

完整的方法将此属性设置为空。

属性:

GetAccess
受保护的
SetAccess
受保护的

内容提供者委托给此提供程序的matlab.net.http.io.ContentProvider对象。

如果一个内容提供者委托负责将全部或部分消息数据发送给另一个提供者,则此属性将将提供者委托给委托。例如,MultipartProvider将部分消息委托给其他提供者,因此它在每个委托中为自己插入句柄。否则,MyDelegator是空的。的delegateTo方法在委托中设置此属性。

属性:

GetAccess
受保护的
SetAccess
受保护的

方法

全部展开

更多关于

全部展开

在R2018a中引入