TFPHttpServer и удаление временных файлов

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

TFPHttpServer и удаление временных файлов

Сообщение vk_barnaul » 01.07.2025 13:44:34

Использую TFPHttpServer.
Потребовалось принимать файлы от пользователей.
Вопросов нет - пример есть в fpcsrc\packages\fcl-web\examples\fptemplate\fileupload\webmodule\webmodule.pas
Принимаю, делаю что хочу без проблем.
Сервер при обработке post запроса от клиента прекрасно все "раскладывает" на файлики и создает их в temp директории.
В примере показано как до них добраться и СКОПИРОВАТЬ.
При окончании обработки сервер за собой не убирает эти временные файлы.
Нигде про это ни слова не сказано.
Так же они останутся если поступит некоторый запрос, который я хочу "проигнорировать".
Более того даже существует пусть protect, но живой и рабочий метод у соответствующих классов - DeleteTempUploadedFiles.
Но вот только его никто не вызывает.
Теперь вопрос - где я не правильно понял идеологию пакета fcl-web?
Логично бы было при освобождении этих классов убирать за собой и временные файлы :)
vk_barnaul
незнакомец
 
Сообщения: 7
Зарегистрирован: 19.09.2015 04:48:21

Re: TFPHttpServer и удаление временных файлов

Сообщение grot » 02.07.2025 08:21:53

vk_barnaul писал(а):Теперь вопрос - где я не правильно понял идеологию пакета fcl-web?


Идеология OSS простая - тебе дали исходники? дальше - "Сделай сам!"
grot
новенький
 
Сообщения: 82
Зарегистрирован: 13.02.2010 16:33:03

Re: TFPHttpServer и удаление временных файлов

Сообщение DedFrend » 03.07.2025 10:10:39

А что тогда делать тем, что захочет снова с ними поработать?
DedFrend
постоялец
 
Сообщения: 157
Зарегистрирован: 25.11.2018 12:21:50

Re: TFPHttpServer и удаление временных файлов

Сообщение vk_barnaul » 04.07.2025 03:26:12

я использую следующий костыль:
...
type TMyRequest = Class(TFPHTTPConnectionRequest);

в конце обработки события OnRequest
вызываю TMyRequest(ARequest).DeleteTempUploadedFiles;

Еще из недокументированного - чтобы изменить temp директорию для этих самых upload файлов надо изменить class const
TRequest.DefaultRequestUploadDir := 'МОЯ СУПЕР ПАПКА ДЛЯ ВХОДЯЩИХ ФАЙЛОВ';

P.S. По поводу идеологии - я не питаю иллюзий что за меня должны были все сделать "красиво". Основной вопрос был именно в возможном "недопонимании организационной структуры".
vk_barnaul
незнакомец
 
Сообщения: 7
Зарегистрирован: 19.09.2015 04:48:21

Re: TFPHttpServer и удаление временных файлов

Сообщение sts » 04.07.2025 12:04:45

по хорошему чистить временные файлы должна служба операционной системы после завершения программ, ведь файл может быть открыт другой программой, (мем) нельзя просто так удалить временные файлы
sts
постоялец
 
Сообщения: 453
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: TFPHttpServer и удаление временных файлов

Сообщение Максим » 04.07.2025 16:59:40

Я бы предложил написать в багтрекер FPC.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru