넷서버의 서버상에서 클라이언트가 원하는 파일스트림을 제공할때 해당 파일이 닫히는 시점을 감지하여 원하는 작업을 처리하고자 하는 경우가 있습니다. 예를 들어 일단 임시파일로 업로드를 한 다음 업로드가 끝나면 해당 파일의 이름을 변경하거나 파일의 다운로드가 끝나고 파일이 닫히면 해당 파일이 삭제되도록 하는 경우등입니다.
하지만 넷서버의 OnGetFileService이벤트에서는 파일스트림의 할당만 할 수 있으므로 이 작업이 곤란한데 이때는 Class의 Destroy이벤트를 사용하여 감지가 가능합니다.
파일이 닫히면 해당 파일을 삭제하는 클래스
하지만 넷서버의 OnGetFileService이벤트에서는 파일스트림의 할당만 할 수 있으므로 이 작업이 곤란한데 이때는 Class의 Destroy이벤트를 사용하여 감지가 가능합니다.
파일이 닫히면 해당 파일을 삭제하는 클래스
TXFileStream = class(TFileStream)
private
FFileName: string;
public
constructor Create(const AFileName: string; Mode: Word);
destructor Destroy; override;
property Filename: string read FFileName;
end;
....
constructor TXFileStream.Create(const AFileName: string; Mode: Word);
begin
FFilename := FileName;
inherited;
end;
private
FFileName: string;
public
constructor Create(const AFileName: string; Mode: Word);
destructor Destroy; override;
property Filename: string read FFileName;
end;
....
constructor TXFileStream.Create(const AFileName: string; Mode: Word);
begin
FFilename := FileName;
inherited;
end;
destructor TXFileStream.Destroy;
begin
inherited;
//다른 원하는 작업을 추가할 수 있습니다.
DeleteFile(FFileName);
end;
begin
inherited;
//다른 원하는 작업을 추가할 수 있습니다.
DeleteFile(FFileName);
end;
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 이전게시판의 질문과답변 및 사용팁 메뉴얼관련 링크 | admin | 2008.01.23 | 5209 |
공지 | 넷서버 동영상 강좌 | admin | 2008.01.23 | 3915 |
공지 | 넷서버 소개문서 | 넷서버 | 2008.01.19 | 5116 |
7 | 패키지의 설치시 폴더의 설정 | admin | 2009.03.17 | 101270 |
6 | XE2 이후 unit scope table | admin | 2014.02.28 | 58802 |
5 | DLL과 Deadlock | admin | 2008.01.20 | 6364 |
4 | 디버그컴포넌트(MaxExcept, EurekaLog...)의 사용시 유의사항 | admin | 2008.02.16 | 5328 |
3 | SQLite의 사용상의 주의 | admin | 2008.02.28 | 4383 |
2 | Open Source ODBC DBX Driver | admin | 2008.02.05 | 3403 |
» | 파일업로드나 다운로드후 파일이 닫힐때 원하는 작업처리하기 | admin | 2008.01.19 | 2695 |