Проверьте, возможно ли загрузить файл с помощью delphi
Вопрос
Проверьте, возможно ли загрузить файл с помощью delphi
Хороший день...Я начинаю с Delphi и создаю программу для загрузки файлов с HTTP...
Я использую:
IdHTTP.Get (URL FileDownload)
Но моя программа выдает ошибку, когда она не может загрузить файл...
Экс: http://exemplo.com/ -> Генерирует ошибку
Экс: http://exemplo.com/meudownload.ts -> Выполняет загрузку
Я хотел бы исправить эту ошибку, как я могу проверить, возможно ли загрузить файл или он удаляется...
Я использовал EIdHTTPProtocolExeption
но проверяет только HTML-ошибку типа:404, 300 ...и это не то, чего я желаю...
Я хотел бы посмотреть, можете ли вы загрузить файл или он загружается...
Если это произойдет, я скачаю другой файл:
donw_1.ts, down_2.TS, down_3.TS ...затем, когда он получает архивацию el, которую невозможно загрузить, у меня есть ответ, чтобы отменить цикл...
Решение 3
Невозможно решить проблему, выполняя голову сканирования ... и удалось решить проблему с ошибкой http 404 ... где не было никакого файла для загрузки, он генерирует эту ошибку eidhttpprotocolexeption ... проблема быларазрешено ....
Другие советы
Ловя EIdHTTPProtocolException
это то, что вы должны делать.Помните, что Indy специально разработан для использования исключений для отчетов об ошибках. EIdHTTPProtocolException
это то, как TIdHTTP
сообщает об ошибках, связанных с HTTP, с сервера (любой другой тип исключения означает, что либо с сокетом, либо с RTL возникла проблема, и HTTP-запрос может быть повторен).Сам факт получения этого исключения означает, что сервер не смог доставить файл в соответствии с запросом, поэтому обычно вам не следует повторять попытку, если вы не знаете, что это исправимая ошибка.Проверка исключения ErrorCode
является необязательным, но доступно, если вам действительно нужно различать конкретные ошибки.
Если вы просто хотите увидеть, существует ли файл на сервере, используйте TIDHTTP.Head.Эта функция просто загружает заголовки, которые были бы возвращены из эквивалентного звонка, но не самих данных.Затем вы можете проверить заголовки, чтобы увидеть, существует ли файл и решить, что делать дальше.