matlab.net.http.io.MultipartFormProvider类
包:matlab.net.http.io
超类:matlab.net.http.io.MultipartProvider
ContentProvider发送多部分/表单数据消息
描述
使用此提供程序将包含多个部分的表单发送到服务器。多部分表单是包含一系列部分的消息,其中每个部分都有一个“控件名称”及其数据。数据可以是允许的任何类型RequestMessage.Body.Data
或另一个内容提供者
。
一些服务器要求相同名称下的多个部件位于嵌套的多部件/混合部件中。要发送嵌套部件,请将部件封装在MultipartProvider
。例如,发送一个在HTML 4.01表单数据规范的第十七章最后描述的消息:
fps = FileProvider(["file1.txt","file2.gif"]);mp = MultipartProvider(fps);formProvider = MultipartFormProvider("submit-name","Larry","files",mp);req = RequestMessage('put',[],formProvider);req.send (uri);
的matlab.net.http.io.MultipartFormProvider
类是a处理
类。
创建
描述
provider = MultipartFormProvider(
创建的名字,
)“多部分/格式”
由一个或多个名称-部分对参数指定的内容。部分
表单数据是否包含名字
以及它的内容。的部分
类支持的任何类型都可以是参数金宝appMultipartProvider
,包括其他内容提供者
对象。
如果一个部分
是一个数组,它等价于重复的名字,
对于数组的每个元素。例如,语句:
MultipartFormProvider(“名字”,FileProvider ([file1 file2 "]))
相当于:
MultipartFormProvider(“名字”,FileProvider (file1),“名字”,FileProvider (file2));
属性
公共属性
的名字
- - - - - -部件名称
字符串
部件名称,指定为字符串。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
部分
- - - - - -消息主体部分
单元阵列
消息体的部分,指定为包含以下一个或多个值的单元数组:
|
的 |
|
的 |
|
的 |
的数组 |
这将数组的每个元素视为一个部分。不是单元格数组。 |
句柄 |
此方法必须具有的签名 |
其他类型吗? |
如果类型与这些类型中的任何一个都不匹配,并且不是函数句柄,则将其视为存在于 |
属性:
GetAccess |
公共
|
SetAccess |
公共
|
依赖 |
真正的
|
头
- - - - - -消息或部件的报头字段
matlab.net.http.HeaderField.empty
(默认)|matlab.net.http.HeaderField
消息或部分的报头字段,指定为一个或多个向量matlab.net.http.HeaderField
对象。
此属性仅供子类作者使用。MATLAB在调用提供程序之前设置此属性完整的
方法。对于非多部分消息,MATLAB将此属性初始化为的内容请求。头
,减去任何matlab.net.http.field.GenericFields
或者空值字段。的内容提供者
使用此属性可添加描述要发送的数据的报头字段,或向消息中已有的报头字段添加参数。在委托中MultipartProvider
, MATLAB将此属性初始化为委托提供程序打算为部件插入的头字段。委托可以修改或更改这些字段。
从供应商的完整的
方法,如果这不是一个多部分消息,那么MATLAB将读取此属性并将其内容合并到请求
。这里的字段头
与的名字
没有出现在请求。头
都加在请求。头
。如果这是一个字段头
有一个名字
这和1 in是一样的请求。头
,两者都有非空值
,那么:
如果是在
请求。头
是一个GenericField
,然后忽略其中的一个头
。如果是在
请求。头
不是。GenericField
,然后把它换成头
。
如果其中一个或两个都是空的价值
,然后将字段从请求。头
并且它不是作为正常消息完成的一部分添加的。
如果这是a的委托MultipartProvider
,然后这个的全部内容头
用作部件的标题。多成员代表不能这样认为请求。头
包含属于它们自己的任何字段头
。提供程序可以通过检查是否为多部分委托来确定它是否是MyDelegator
是一个MultipartProvider
尽管这种测试不太可能被需要。
MATLAB仅在调用提供程序返回时读取此属性完整的
方法。一旦MATLAB调用,对该数组的更改将被忽略开始
。
类作者应该意识到,他们的子类可能已经向this添加了字段头
(在他们完整的
方法),然后调用完整的
在它们的超类中。最好保留这些字段,不要添加具有相同名称的字段。但是,允许向字段添加参数。例如,超类可以向没有字符集参数的现有Content-Type字段添加字符集参数。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
ForceChunked
- - - - - -指示是否强制分块传输编码
假
(默认)|真正的
指示是否强制分块传输编码,指定为布尔值。此属性仅对子类作者感兴趣,并且仅适用于非多部分委托的提供程序。子类集ForceChunked
控制是否应使用分块传输编码发送内容。如果假
(默认),MATLAB根据是否知道消息准备发送时的内容长度来决定是否发送内容块:
如果MATLAB知道内容长度(如果消息包含content - length字段,或者如果此提供程序的
expectedContentLength
方法返回一个数字),然后MATLAB决定是否发送分块。如果MATLAB不知道内容长度(没有content - length字段在头和
expectedContentLength
返回空),那么MATLAB总是发送消息块。
如果ForceChunked
是真正的
,则MATLAB不管是否知道内容长度,都将消息分块发送,除非已知长度小于块大小。如果这个属性是真正的
,则消息必须不包含Content-Length字段,因为HTTP不允许分块消息具有Content-Length字段。方法中仍然可以返回非零值expectedContentLength
方法,如果您希望MATLAB验证您正在返回预期的数据长度。
当MATLAB选择发送消息块时,每个块的大小等于返回数据的长度getData
。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
请求
- - - - - -请求消息发送
matlab.net.http.RequestMessage
发送的请求消息,指定为matlab.net.http.RequestMessage
对象。
此属性仅供子类作者使用。的RequestMessage.send
和RequestMessage.complete
方法将此属性设置为RequestMessage
在谁的身体
在调用此提供程序中的任何其他方法之前,以及在添加任何附加报头字段或验证消息之前,已放置此提供程序。提供者可以检查此消息以查看原始请求中包含的内容。
委托将看到与委托相同的属性值。内容提供者
应该意识到,如果它们是委托,它们不一定提供请求消息的整个主体,因此它们不应该假设此请求中的报头字段与它们提供的数据相关。通常,委托应该忽略请求中与数据相关的报头字段,例如Content-Type。
如果提供程序希望向此消息添加任何报头字段,或者修改现有的报头字段,它应该在其完整的
方法中添加这些字段头
财产。打电话的人完整的
(RequestMessage
或委托提供程序)决定如何处理这些字段。RequestMessage.send
和RequestMessage.complete
总是将这些字段复制到头
的RequestMessage
。委托提供程序可以将字段复制到自己的提供程序中头
属性或将它们插入到消息中(如MultipartProvider
).有关更多信息,请参见头财产。
该属性是只读的。
属性:
GetAccess |
公共 |
SetAccess |
matlab.net.http.RequestMessage |
受保护的属性
子类型
- - - - - -提供者亚型
“混合”
(默认)|字符串
提供程序子类型,指定为字符串。默认值“混合”
添加一个Content-Type报头集“多部分/混合”
到消息,加上适当的参数。子类可以在构造函数或类中修改此值完整的
方法。该值出现在后面的Content-Type中“多部分/”
。
属性:
GetAccess |
受保护的
|
SetAccess |
受保护的
|
CurrentDelegate
- - - - - -内容提供者
此提供程序正在委托的对象
matlab.net.http.io.ContentProvider
|空
内容提供者
此提供程序正在委托的对象,指定为matlab.net.http.io.ContentProvider
对象。方法在调用提供程序(委托程序)中设置此属性delegateTo
方法来指示当前委托的提供程序。如果当前没有委托,则该值为空。
的完整的
方法将此属性设置为空。
属性:
GetAccess |
受保护的
|
SetAccess |
受保护的
|
MyDelegator
- - - - - -内容提供者
委托给这个提供者的
matlab.net.http.io.ContentProvider.empty
(默认)|matlab.net.http.io.ContentProvider
内容提供者
委托给此提供程序,指定为matlab.net.http.io.ContentProvider
对象。
如果一个内容提供者
将发送全部或部分消息数据的责任委托给另一个提供者,然后此属性将委托提供者标识为委托。例如,aMultipartProvider
将消息的部分委托给其他提供程序,因此它在每个委托中为自己插入句柄。否则,MyDelegator
是空的。的delegateTo
方法在委托中设置此属性。
属性:
GetAccess |
受保护的
|
SetAccess |
受保护的
|
方法
公共方法
getData |
下一个要在多部分HTTP请求消息中发送的数据缓冲区 |
专用操作符和函数
这些方法专门化了该类中对象的标准MATLAB运算符和函数以及继承方法。
字符串 |
提供程序信息作为字符串 |
显示 |
显示提供商信息 |
受保护的方法
完整的 |
完成MultipartProvider的HTTP报头 |
preferredBufferSize |
ContentProvider的首选缓冲区大小 |
expectedContentLength |
ContentProvider的内容长度 |
开始 |
从MultipartProvider开始数据传输 |
可重新开始的 |
指示ImageProvider是否可重启 |
可重用的 |
指示ImageProvider是否可重用 |
delegateTo |
委托给另一个提供者 |
更多关于
类层次结构
版本历史
MATLAB命令
您点击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
你亦可选择下列网址:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。