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
Откуда: Москва

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

Сообщение Снег Север » 05.07.2025 06:24:44

Максим писал(а):Я бы предложил написать в багтрекер FPC.

Тут нет бага. Есть хотелки пользователя, которые он должен удовлетворять сам.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3053
Зарегистрирован: 27.11.2007 16:14:47

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

Сообщение Sharfik » 05.07.2025 16:52:57

sts писал(а):по хорошему чистить временные файлы должна служба операционной системы после завершения программ, ведь файл может быть открыт другой программой, (мем) нельзя просто так удалить временные файлы

После завершения? Сервер может год работать без остановки. Место кто под это выделит? Тут просто вести список принятых и обработанных файлов надо, с таймаутом. Если есть отметка что принятый файл обработан, то удаляем, если таймаут на обработку прошел, то так же удаляем.
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 809
Зарегистрирован: 20.07.2013 01:04:30


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

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

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

Рейтинг@Mail.ru