TsgcWebSocketHTTPServer › Zdarzenia › OnHTTPUploadBeforeSaveFile
Wywoływane przed zapisaniem na dysku pliku wyodrębnionego z przesłanego formularza multipart/form-data, co umożliwia dostosowanie nazwy i ścieżki.
property OnHTTPUploadBeforeSaveFile: TsgcWSHTTPUploadBeforeSaveFileEvent;
// TsgcWSHTTPUploadBeforeSaveFileEvent = procedure(Sender: TObject; var aFileName, aFilePath: string) of object
—
Gdy właściwość HTTPUploadFiles.StreamType jest ustawiona na pstFileStream, a HTTPUploadFiles.RemoveBoundaries na True, serwer automatycznie wyodrębnia każdy plik z odebranych granic multipart/form-data i zapisuje go na dysku. Zdarzenie OnHTTPUploadBeforeSaveFile jest wywoływane dla każdego pliku tuż przed jego zapisem, dając aplikacji możliwość zmiany miejsca docelowego: można zmodyfikować parametr aFileName (domyślnie oryginalną nazwę pliku klienta) lub aFilePath (domyślnie HTTPUploadFiles.SaveDirectory), aby wybrać inne miejsce docelowe. Zdarzenie to można wykorzystać do oczyszczania niezaufanych nazw, kierowania przesyłanych plików do folderów użytkowników lub dodawania przedrostka z sygnaturą czasową w celu uniknięcia kolizji.
procedure OnHTTPUploadBeforeSaveFileEvent(Sender: TObject; var aFileName: string;
var aFilePath: string);
begin
if aFileName = 'test.jpg' then
aFileName := 'custom_test.jpg';
end;