TsgcWebSocketServer_HTTPAPIEvents › OnHTTPUploadBeforeSaveFile

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;

返回事件