Domanda

Verifica se è possibile scaricare il file con Delphi

Buona giornata ... Sto iniziando a Delphi e sto creando un programma per scaricare file da http ...

Sto usando:

IdHTTP.Get (URL FileDownload)
.

Ma il mio programma genera errori quando non può scaricare il file ...

ex: http://exemplo.com/ -> Genera errore

ex: http://exemplo.com/meudownload.ts -> fa scaricare Mi piacerebbe correggere questo errore, come posso controllare se è possibile scaricare il file o se viene abbassato ...

Ho usato EIdHTTPProtocolExeption ma controlla solo l'errore HTML come: 404, 300 ... e non è che desidero ...

Vorrei vedere se è possibile scaricare il file o se viene scaricato ...

Se ciò accade, scaricherò altro file:

donw_1.ts, down_2.ts, down_3.ts ... poi quando ottiene El Archiviazione di uno che non può essere scaricato, ho la risposta per annullare il loop ...

È stato utile?

Soluzione 3

Impossibile risolvere il problema eseguendo una testina di scansione ... e è riuscita a risolvere il problema con l'errore HTTP 404 .... dove non c'era alcun file da scaricare Genera questo errore Eidhttpprotocoloxing ... Il problema è statorisolto ....

Altri suggerimenti

Catturare il EIdHTTPProtocolException è ciò che dovresti fare.Ricorda che Indy è progettato specificamente per utilizzare le eccezioni per la segnalazione degli errori.EIdHTTPProtocolException è il modo in cui TIdHTTP segnala errori specifici http dal server (qualsiasi altro tipo di eccezione significa che la presa o il RTL ha avuto un problema e la richiesta HTTP può essere ritentata).Il semplice fatto che si ottiene questa eccezione significa che il server non è stato possibile consegnare il file come richiesto, in modo da non riportare in genere non si riprova a meno che non si sa che sia un errore recuperabile.Controllo dell'eccezione ErrorCode è facoltativo, ma disponibile se hai davvero bisogno di differenziare tra errori specifici.

Se vuoi solo vedere se un file esiste sul server, usa tidhttp.head.Questa funzione scarica basta scaricare le intestazioni che sarebbero state restituite dalla chiamata equivalente, ma non i dati stessi.È quindi possibile controllare le intestazioni per vedere se il file esiste e decidere cosa fare dopo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top