TsgcWebSocketHTTPServer › 이벤트 › OnHTTPUploadBeforeCreatePostStream
요청 헤더가 읽힌 후, POST 스트림이 생성되기 전에 발생하므로 업로드를 수락하거나 거부할 수 있습니다.
property OnHTTPUploadBeforeCreatePostStream: TsgcWSHTTPBeforeCreatePostStream;
// TsgcWSHTTPBeforeCreatePostStream = procedure(Sender: TObject; const Connection: TsgcWSConnection; const aHeaders: TStrings; var Accept: Boolean) of object
—
OnHTTPUploadBeforeCreatePostStream은 들어오는 업로드의 본문이 저장될 POST 스트림(HTTPUploadFiles.StreamType에 따라 TMemoryStream 또는 TFileStream)을 구성 요소가 할당하기 전에 실행됩니다. 업로드가 허용되는지 결정하기 위해 aHeaders(Content-Type, Content-Length, Authorization...)와 Connection을 검사하십시오: 본문 수신을 계속하려면 Accept를 True로, 폐기하고 클라이언트에 오류를 반환하려면 False로 설정하십시오. 이 후크를 사용하여 크기 제한을 시행하거나, 권한 없는 업로드를 일찍 거부하거나, 큰 multipart/form-data 본문이 디스크에 버퍼링되기 전에 Content-Type을 유효성 검사하십시오.
procedure OnHTTPUploadBeforeCreatePostStream(Sender: TObject; const Connection: TsgcWSConnection;
const aHeaders: TStrings; var Accept: Boolean);
begin
Accept := StrToIntDef(aHeaders.Values['Content-Length'], 0) <= 100 * 1024 * 1024;
end;