Пакет: matlab.net.http.io
Суперклассы: matlab.net.http.io.ContentProvider
, matlab.mixin.Copyable
ContentProvider, чтобы отправить файлы
Используйте FileProvider
возразите как удобный способ отправить один или несколько файлов в сервер.
matlab.net.http.io.FileProvider
классом является handle
класс.
providers = FileProvider(
создает массив files
)FileProviders
, один для каждого файла в files
массив. Каждая запись отправляет один файл в сервер.
Чтобы отключить передачу файлов прежде, чем достигнуть конца файла, установите FileSize
свойство к количеству байтов желаемо. Чтобы решить, где закончить передачу на основе содержимого файла, в то время как она читается, запишите подкласс и замените getData
исследовать считанные данные и установить stop
возвращаемое значение, чтобы закончить передачу.
providers = FileProvider(
задает опции для открытия файлов.files
,permission
,machineformat
,encoding
)
providers = FileProvider(
построения fileIds
)FileProviders
заданный идентификаторами файла. Файлы читаются, начиная в текущем индикаторе позиции в файле в конец файла. Идентификаторы файла не закрываются, когда передача завершена. Этот метод полезен, если файл уже открыт, или, когда это необходимо, передавать только запаздывающую часть файла. Для этого откройте файл, установите индикатор позиции в файле на запуск данных в файле, который вы хотите передать, и затем передать тот идентификатор файла в этого конструктора. Можно также установить FileSize
ограничить общее количество байтов или записать подкласс, чтобы управлять, когда закончить передачу.
files
— Имена файловОдни или несколько имен файлов, заданных как строка, массив строк, вектор символов или массив ячеек из символьных векторов. Для получения дополнительной информации об использовании имен файлов, смотрите fopen
.
Типы данных: char |
string
permission
— Тип доступа к файлуw+
(значение по умолчанию) | u+
| u
| T
| значение позволено fopen
функцияТип доступа к файлу, заданный как строка. Если permission
задан, это должно позволить доступ для записи. Значением по умолчанию является 'w+'
, который открывает или создает файл для чтения и записи и отбрасывает существующее содержимое, если таковые имеются.
Типы данных: char |
string
machineformat
— Порядок для чтения или записи байтов или битовfopen
Порядок для чтения или записи байтов или битов, заданных как любое значение, позволен fopen
функция.
Типы данных: char |
string
encoding
'CharacterEncoding' fopen
Кодировка символов, заданная как любое значение, позволена fopen
функция.
Типы данных: char |
string
fileIds
— Идентификаторы файлаОдин или несколько идентификаторов файла, заданных как двойное или массив дважды.
Filename
— Полный путь файлаПолный путь файла, выведенного из входного параметра, заданного как строка.
GetAccess | public |
SetAccess | public |
Dependent | true |
FileSize
— Количество байтов, чтобы передатьКоличество байтов, чтобы передать, заданный как дважды.
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 |
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 |
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.ContentProvider
ContentProvider
это делегировало к этому провайдеру, заданному как matlab.net.http.io.ContentProvider
объект.
Если ContentProvider
ответственность делегатов за отправку всех или фрагмента данных о сообщении к другому провайдеру, затем это свойство идентифицирует провайдера делегирования делегату. Например, MultipartProvider
части делегатов сообщения к другим провайдерам, таким образом, это вставляет указатель на себя в каждом делегате. В противном случае, MyDelegator
isempty. delegateTo
метод устанавливает это свойство в делегате.
GetAccess | protected |
SetAccess | protected |
getData | Следующий буфер данных, который отправит в HTTP, запрашивает сообщение от FileProvider |
Эти методы специализируют стандартные операторы MATLAB и функции и унаследованные методы для объектов в этом классе.
string |
|
show | Отобразите |
complete | Полный HTTP-заголовок для ContentProvider |
preferredBufferSize | Предпочтительный buffer size для ContentProvider |
expectedContentLength | Длина содержимого ContentProvider |
start | Запустите передачу данных с ContentProvider |
restartable | Укажите, является ли ContentProvider прерываемым |
reusable | Укажите, является ли ContentProvider допускающим повторное использование |
delegateTo | Делегируйте к другому провайдеру |
FileConsumer
| MessageBody
| MultipartFormProvider
| MultipartProvider
| RequestMessage
| fopen
| getData
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.