TsgcWebSocketServer_HTTPAPI › Events › OnHTTPUploadBeforeSaveFile
在从 multipart/form-data 上传中提取的文件保存到磁盘之前触发,以便自定义文件名和路径。
property OnHTTPUploadBeforeSaveFile: TsgcWSHTTPUploadBeforeSaveFileEvent;
// TsgcWSHTTPUploadBeforeSaveFileEvent = procedure(Sender: TObject; var aFileName, aFilePath: string) of object
—
当 HTTPUploadFiles.StreamType 为 pstFileStream 且 HTTPUploadFiles.RemoveBoundaries 为 True 时,服务器将从接收到的 multipart/form-data 边界中提取每个文件,并自动将其保存到磁盘。OnHTTPUploadBeforeSaveFile 在每个文件写入之前触发,使应用程序有机会覆盖目标位置:修改 aFileName(默认为原始客户端文件名)或 aFilePath(默认为 HTTPUploadFiles.SaveDirectory)以选择不同的目标位置。可用于清理不受信任的文件名、将上传文件路由到每个用户的文件夹,或添加时间戳前缀以避免冲突。
procedure OnHTTPUploadBeforeSaveFileEvent(Sender: TObject; var aFileName: string;
var aFilePath: string);
begin
if aFileName = 'test.jpg' then
aFileName := 'custom_test.jpg';
end;