Окружающая среда: Delphi 2010, Indy10файла все еще используется после Multipart отправлять
Я знаю, что я не один с проблемой ... File is Still in Use Error 32 How can I free it?
Но через несколько дней борьбы я сдаюсь.
Мой код
var
multi: TIdMultipartFormDataStream;
ss: TStringStream;
FHTTP: TIdHTTP;
FHTTP := TidHTTP.Create(nil);
Multi:=TidMultiPartFormDataStream.Create;
Multi.AddFormField('eventid', TSettingsManager.GetAppSettings('EventID'));
Multi.AddFormField('password', TSettingsManager.GetAppSettings('EventPassword'));
Multi.AddFile('file', filename, 'image/jpeg'); //GetMIMETypeFromFile(fileName));
try
FHTTP.Post(TSettingsManager.GetAppSettings('WEBServer') + '/upload', Multi, ss);
finally
Multi.Clear;
FreeAndNil(Multi);
FreeAndNil(FHTTP);
end;
IOUtils.TFile.Delete(filename);
У меня есть исключение «Файл используется» при попытке удалить файл. Как я должен действовать, чтобы получить бесплатный файл, а затем удалить его?
Пробовали ли вы с последним Инди 10.6 версии? Возможно, теперь это исправлено. – mjn
@mjn: спасибо за ответ. Я использую Indy с gsIdVersion = '10 .6.0.5146 '; Попробуем обновить сейчас. – mad
@mjn: Теперь у меня есть gsIdVersion = '10 .6.1.5187 '... Ситуация та же. – mad