Main Content

putData

클래스: matlab.net.http.io.MultipartConsumer
네임스페이스: matlab.net.http.io

MultipartConsumer에 대한 다음 데이터 버퍼 처리

구문

[length,stop] = putData(consumer,data)

설명

[length,stop] = putData(consumer,data)는 multipart 메시지의 한 파트가 모두 수신될 때까지 data로 구성된 버퍼를 누적합니다. 그런 다음 해당 파트의 헤더에 있는 Content-Type 필드를 사용하여 해당 유형을 처리할 수 있는 적절한 ContentConsumer 대리자를 찾고, 대리자의 Header 속성을 해당 파트의 헤더로 설정하고, 대리자의 initializestart를 호출합니다. 이후 putData를 한 번 이상 호출하여 해당 파트의 페이로드를 전달하고, 그런 다음 페이로드의 끝을 나타내기 위해 putData(uint8.empty)를 호출합니다.

대리자의 putData에 대한 마지막 호출이 끝나면 해당 파트의 헤더와 대리자의 Response.Body에서 복사한 Body를 포함하는 ResponseMessage를 생성합니다. (여기서 Body는 대리자의 동작에 따라 데이터를 포함할 수도, 포함하지 않을 수도 있습니다.) 그런 다음 이 소비자의 Response.Body.Data 속성에 있는 ResponseMessage 객체로 구성된 배열에 새 ResponseMessage를 추가하는데, 메시지의 끝에 도달한 시점에는 Response.Body.Data 속성이 각 파트별로 ResponseMessage를 하나씩 갖게 됩니다.

이 메서드는 putData의 재정의된 메서드입니다. 메시지가 정상적으로 끝나기 전에 메시지의 수신을 종료할 목적으로 메시지의 끝 전에(data가 비어 있지 않은 경우) stop=true를 반환하도록 이 메서드를 재정의한 경우, 사용자가 stop을 설정했을 때 MATLAB®이 일반적으로 수행하는 이후의 putData(uint8.empty)에 대한 호출에서 이 슈퍼클래스 메서드를 호출하지 않아야 합니다. 이렇게 하지 않으면 메시지가 중간에 종료되기 때문에 MultipartConsumer에서 유효하지 않은 메시지 예외가 발생하게 됩니다.

입력 인수

모두 확장

콘텐츠 소비자로, matlab.net.http.io.MultipartConsumer 객체로 지정됩니다.

matlab.net.http.ResponseMessage 객체 내 원시 데이터로 구성된 버퍼로, 비어 있지 않은 uint8형 벡터, uint8.empty 또는 []로 지정됩니다. 이러한 값에 대한 자세한 내용은 ContentConsumer.putData 메서드의 data 입력 인수를 참조하십시오.

data가 메시지가 종료되었으며 대리자가 있었음을 나타내는 []인 경우, 대리자의 Response 속성을 이 객체의 Response로 복사합니다.

출력 인수

모두 확장

처리되는 데이터의 길이로, double형 또는 빈 double형으로 반환됩니다. 자세한 내용은 ContentConsumer.putDatasize 인수를 참조하십시오.

이 메시지로부터 추가 데이터를 수신할지 여부를 나타내는 표시로, truefalse로 반환됩니다. 자세한 내용은 ContentConsumer.putDatastop 인수를 참조하십시오.

특성

Accesspublic

버전 내역

R2018a에 개발됨