Пакет: matlab.net.http.io
Суперклассы: matlab.net.http.io.MultipartProvider
ContentProvider, чтобы отправить сообщения multipart/form-data
Используйте этого провайдера, чтобы отправить многослойную форму в сервер. Многослойная форма является сообщением, содержащим серию частей, где каждая часть имеет "имя элемента управления" и его данные. Данные могут какой-либо иметь типы, допускал RequestMessage.Body.Data или другой ContentProvider.
Некоторые серверы требуют, чтобы несколько частей под тем же именем были во вложенной многослойной/смешанной части. Чтобы отправить вложенные части, перенесите части в MultipartProvider. Например, чтобы отправить сообщение, аналогичное описанному в самом конце главы 17 спецификации HTML 4.01 для данных о форме:
fps = FileProvider(["file1.txt","file2.gif"]); % get array of providers
mp = MultipartProvider(fps);
formProvider = MultipartFormProvider("submit-name","Larry","files",mp);
req = RequestMessage('put',[],formProvider);
req.send(uri);matlab.net.http.io.MultipartFormProvider классом является handle класс.
provider = MultipartFormProvider( создает Name,Part)"multipart/form-data" содержимое задано одним или несколькими аргументами пары заглавной роли. Part данные формы, содержащие Name и его содержимое. Part аргументы могут какой-либо иметь типы, поддержанные MultipartProvider, включая другой ContentProvider объекты.
Если Part массив, это эквивалентно повторению Name,Part для каждого элемента массива. Например, оператор:
MultipartFormProvider("name",FileProvider(["file1" "file2"]))эквивалентно:
MultipartFormProvider("name",FileProvider("file1"),"name",FileProvider("file2"));Names — Имена частиЧасть называет в виде строки.
GetAccess | public |
SetAccess | public |
Parts — Части текста сообщенияЧасти текста сообщения в виде массива ячеек одного или нескольких из этих значений:
|
|
|
|
|
|
Массив | Это обрабатывает каждый элемент массива как часть. Не массив ячеек. |
Обработайте к | Этот метод должен иметь подпись |
Любой другой тип | Если тип не совпадает ни с одним из этих типов и не является указателем на функцию, то он обработан, как будто он присутствовал в |
GetAccess | public |
SetAccess | public |
Dependent | true |
Header — Поля заголовка сообщения или частиmatlab.net.http.HeaderField.empty (значение по умолчанию) | matlab.net.http.HeaderFieldПоля заголовка сообщения или части в виде вектора из одного или нескольких matlab.net.http.HeaderField объекты.
Это свойство только используется авторами подкласса. MATLAB устанавливает это свойство прежде, чем вызвать complete провайдера метод. Для немногослойных сообщений MATLAB инициализирует это свойство к содержимому Request.Header, минус любой matlab.net.http.field.GenericFields или поля с пустым знаком. ContentProvider использование это свойство добавить поля заголовка, которые описывают данные, которые будут отправлены или добавят параметры в поля заголовка уже в сообщении. В делегате к MultipartProvider, MATLAB инициализирует это свойство к полям заголовка, которые провайдер делегирования намеревается вставить для части. Делегаты могут изменить или изменить эти поля.
По возврату из complete провайдера метод, если это не многослойное сообщение, то MATLAB читает это свойство и объединяет его содержимое в заголовок Request. Поля в этом Header с Names это уже не появляется в Request.Header добавляются в конец Request.Header. Если поле в этом Header имеет Name это эквивалентно один в Request.Header, и у обоих есть непустой Valuesто:
Если тот в Request.Header GenericField, затем проигнорируйте тот в Header.
Если тот в Request.Header не GenericField, затем замените его на тот в Header.
Если один или оба из них имеет пустой Value, затем поле удалено из Request.Header и это не добавляется как часть нормального завершения сообщения.
Если это - делегат MultipartProvider, затем целое содержимое этого Header используется в качестве заголовка части. Многослойные делегаты не должны принимать тот Request.Header содержит любые поля, имеющие отношение к их собственному Header. Провайдер может определить, является ли это многослойным делегатом путем проверки ли MyDelegator MultipartProvider, хотя этот тест вряд ли будет необходим.
MATLAB читает это свойство только по возврату из вызова complete провайдера метод. Изменения в этом массиве проигнорированы, если MATLAB вызывает start.
Авторы класса должны иметь в виду, что их подклассы могут добавить поля в этот Header (в их complete метод) прежде, чем вызвать complete в их суперклассе. Лучше сохранять такие поля а не добавлять поля с теми же именами. Однако добавление параметра к полю допустимо. Например, суперкласс может добавить параметр набора символов в существующее поле Content-Type, которое уже не имеет того.
GetAccess | public |
SetAccess | public |
ForceChunked — Укажите, обеспечить ли разделенное на блоки кодирование передачиfalse (значение по умолчанию) | trueУкажите, обеспечить ли разделенное на блоки кодирование передачи в виде булевской переменной. Это свойство представляет интерес только, чтобы разделить авторов на подклассы и применимо только к провайдерам, которые не являются многослойными делегатами. Подклассы устанавливают ForceChunked управлять, должно ли содержимое быть отправлено с помощью разделенного на блоки кодирования передачи. Если false (значение по умолчанию), MATLAB решает, отправить ли разделенное на блоки содержимое, на основе того, знает ли это длину содержимого в то время, когда сообщение готово быть отправленным:
Если MATLAB знает длину содержимого (который имеет место, если сообщение содержит поле Content-Length, или если expectedContentLength этого провайдера метод возвратил номер), затем MATLAB решает, отправить ли разделенный на блоки или нет.
Если MATLAB не знает длины содержимого (никакое поле Content-Length в заголовке и expectedContentLength возвращенный пустой), затем MATLAB всегда отправляет разделенное на блоки сообщение.
Если ForceChunked true, затем MATLAB отправляет сообщение, разделенное на блоки независимо от того, знает ли это длину содержимого, если известная длина не меньше, чем размер фрагмента. Если этим свойством является true, затем сообщение не должно содержать поле Content-Length, потому что HTTP не позволяет разделенному на блоки сообщению иметь поле Content-Length. Однако можно все еще возвратить ненулевое значение в expectedContentLength метод, если вы хотите, чтобы MATLAB проверил, что вы возвращаете ожидаемую длину данных.
Когда MATLAB принимает решение отправить разделенное на блоки сообщение, размер каждого фрагмента равен длине данных, возвращенных getData.
MATLAB читает это значение после вызова complete метод, прежде, чем вызвать start. Это не устанавливает это поле.
GetAccess | public |
SetAccess | public |
Request — Запросите сообщение отправитьmatlab.net.http.RequestMessageЗапросите сообщение отправить в виде matlab.net.http.RequestMessage объект.
Это свойство используется только авторами подкласса. RequestMessage.send и RequestMessage.complete методы устанавливают это свойство на RequestMessage в чьем Body этот провайдер был помещен, прежде, чем вызвать любые другие методы в этом провайдере, и прежде, чем добавить любые дополнительные поля заголовка или подтвердить сообщение. Провайдер может исследовать это сообщение, чтобы видеть то, что содержалось в исходном запросе.
Делегаты видят то же значение для этого свойства как delegator. ContentProviders должно иметь в виду, что, если они - делегаты, они не обязательно обеспечивают целое тело сообщения запроса, таким образом, они не должны принимать, что поля заголовка в этом Запросе являются подходящими для данных, которые они обеспечивают. Обычно, делегаты должны проигнорировать поля заголовка в этом запросе, относящемся к данным, такие как Тип контента.
Если провайдер хочет добавить какие-либо поля заголовка в это сообщение или изменить существующие единицы, это должно сделать так в его complete метод путем добавления тех полей в Header свойство. Вызывающая сторона complete (RequestMessage или провайдер делегирования), определяет, что сделать с теми полями. RequestMessage.send и RequestMessage.complete всегда копируйте эти поля в Header из RequestMessage. Провайдер делегирования может скопировать поля в свой собственный Header свойство или вставляет их в сообщение (как в случае MultipartProvider). Для получения дополнительной информации смотрите свойство Header.
Это свойство доступно только для чтения.
Атрибуты:
GetAccess | public |
SetAccess | matlab.net.http.RequestMessage |
Subtype — Подтип провайдера"mixed" (значение по умолчанию) | строкаПодтип провайдера в виде строки. Значение по умолчанию "mixed" добавляет набор заголовка Типа контента к "multipart/mixed" к сообщению, плюс соответствующие параметры. Подклассы могут изменить это значение в конструкторе или complete метод. Это значение появляется в Типе контента после "multipart/".
GetAccess | protected |
SetAccess | protected |
CurrentDelegate — ContentProvider к которому этот провайдер делегируетmatlab.net.http.io.ContentProvider | пустойContentProvider к которому этот провайдер делегирует в виде matlab.net.http.io.ContentProvider объект. Это свойство установлено в провайдере вызова (delegator) delegateTo метод, чтобы указать на текущего делегированного провайдера. Если нет никакой текущей делегации, то значение пусто.
complete методы устанавливают это свойство опустеть.
GetAccess | protected |
SetAccess | protected |
MyDelegator — ContentProvider это делегировало к этому провайдеруmatlab.net.http.io.ContentProvider.empty (значение по умолчанию) | matlab.net.http.io.ContentProviderContentProvider это делегировало к этому провайдеру в виде matlab.net.http.io.ContentProvider объект.
Если ContentProvider ответственность делегатов за отправку всех или фрагмента данных о сообщении к другому провайдеру, затем это свойство идентифицирует провайдера делегирования делегату. Например, MultipartProvider части делегатов сообщения к другим провайдерам, таким образом, это вставляет указатель на себя в каждом делегате. В противном случае, MyDelegator isempty. delegateTo метод устанавливает это свойство в делегате.
GetAccess | protected |
SetAccess | protected |
getData | Следующий буфер данных, который отправит в многослойном HTTP, запрашивает сообщение |
Эти методы специализируют стандартные операторы MATLAB и функции и унаследованные методы для объектов в этом классе.
string | Информация о провайдере как строка |
show | Отобразите информацию о провайдере |
complete | Полный HTTP-заголовок для MultipartProvider |
preferredBufferSize | Предпочтительный buffer size для ContentProvider |
expectedContentLength | Длина содержимого ContentProvider |
start | Запустите передачу данных с MultipartProvider |
restartable | Укажите, является ли ImageProvider прерываемым |
reusable | Укажите, является ли ImageProvider допускающим повторное использование |
delegateTo | Делегируйте к другому провайдеру |

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.