发送多部分形式消息
以下代码在一个PUT消息中发送一个文件。
进口matlab.net.http。*进口matlab.net.http.field。进口matlab.net.http.io。*提供者= fileprovider('dir/imagefile.jpg');req = requestMessage('放',[],提供者);RESS = REQ.SEND(url);
提供商在请求消息中将适当的内容类型标头字段设置为从文件名扩展程序派生的文件类型,并添加一个content-disposition字段命名文件。在此示例中,值是“图像/jpeg”
使用文件名“ imagefile.jpg”
。
将多个文件上传到一个“多部分/混合”
消息,可能是不同类型的消息,创建一个数组fileproviders
通过指定文件名数组并将此数组用作委托MultipartProvider
。在以下代码中,Multipart消息的每个标头都包含一个内容类型字段和一个带有文件名属性命名文件的内容键入字段。
URL =“ www.somewebsite.com”;提供者= MultipartProvider(fileprovider([[“ Image1.jpg”,,,,“ file1.txt”]));req = requestMessage('放',[],提供者);RESS = REQ.SEND(url);
实际上,大多数接受多部分内容的服务器期望它是类型“ Multipart/form-data”
, 不是“多部分/混合”
。要使用Multipart表单发送文件,请使用MultipartFormProvider
。该提供商要求您了解表单各个字段的控制名称,以便每个部分都与正确的控件关联。例如,发送带有调用的控件的表单“文件”
和“文本”
,如果第一个接受多个文件,而第二个仅接受一个文件,请根据以下代码创建一个提供商:
提供者= MultipartFormProvider(“文件”,fileprovider([“ Image1.jpg”,,,,“ file1.txt”]),,...“文本”,fileprovider(“ file1.txt”);
如果服务器需要使用嵌套格式指定的多个文件,请使用以下代码模式:
提供者= MultipartFormProvider(“文件”,多Artartprovider(fileprovider([[“ Image1.jpg”,,,,“ file1.txt”)),...“文本”,fileprovider(“ file1.txt”);