Проверьте, возможно ли загрузить файл с помощью delphi

StackOverflow https://stackoverflow.com//questions/21064943

  •  26-12-2019
  •  | 
  •  

Вопрос

Проверьте, возможно ли загрузить файл с помощью 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.Эта функция просто загружает заголовки, которые были бы возвращены из эквивалентного звонка, но не самих данных.Затем вы можете проверить заголовки, чтобы увидеть, существует ли файл и решить, что делать дальше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top