Ma page d'accueil: http://www.tommstudio.com/
Le système que j'ai récemment développé nécessite une fonction pour télécharger des fichiers. J'écrivais un appel API encombrant en utilisant BCB, mais soudain, je me suis souvenu qu'il y avait une API qui pouvait être faite, alors je suis venu chercher tôt le matin. Cette API est UrldownloadTofile. Non seulement cela, certains contrôles de Delphi peuvent également être facilement téléchargés, tels que NMHTTP, spécifier NMHTTP1.InputFileMode: = Ture; Voici des codes détaillés, tous à partir de CSDN. Je les ai tous triés ici pour un accès facile à tout le monde.
utilise urlmon; Fonction DownloadFile (source, dest: String ): Boolean; Commencer essayer Résultat: = urldownloadTofile ( nil , pChar (source), pChar (dest), 0, nil ) = 0; sauf Résultat: = false ; fin ; fin ; Si Téléchargement File ('http://www.borland.com/delphi6.zip,' c: /kylix.zip ') alors ShowMessage («Télécharger le succès») else showMessage («Télécharger les insuffisants») |
=============================================.
Routine:
Utilise Urlmon, shellapi; Fonction DownloadFile (sourcefile, destfile: String): booléen; Commencer essayer Résultat: = urldownloadTofile (nil, pChar (sourcefile), pChar (destfile), 0, nil) = 0; sauf Résultat: = false; fin; fin; Procédure tform1.button1.click (expéditeur: tobject); const // Emplacement d'URL SourceFile: = ' http://www.google.com/intl/de/images/home_title.gif'; // où enregistrer le fichier Destfile: = 'c: /temp/google-image.gif'; Commencer Si Téléchargement File (SourceFile, Destfile) Commencer ShowMessage («Télécharger réussi!»); // Afficher l'image téléchargée dans votre navigateur Shellexcute (application.handle, phar ('open'), pChar (destfile), phar (''), nil , sw_ormal) fin autre ShowMessage ('Erreur lors du téléchargement' + SourceFile) fin ; |
======================.
Ajouter le code suivant:
Nmhttp1.inputFileMode: = vérité; Nmhttp1.body: = 'nom de fichier local'; Nmhttp1.header: = 'head.txt'; Nmhttp1.outputFileMode: = false ; Nmhttp1.ReportLevel: = status_basic; Nmhttp1.proxy: = 'adresse IP du serveur proxy'; Nmhttp1.proxyport: = 'numéro de port de serveur proxy'; Avec nmhttp1.hederinfo do Commencer Cookie: = ''; Localmailaddress: = ''; LocalProgram: = ''; Référent: = ''; UserId: = 'Nom d'utilisateur'; Mot de passe: = «Mot de passe utilisateur»; Fin ; Nmhttp1.get (' http://www.abcdefg.com/software/a.zip'); |
Essayez-le, il existe des exemples de contrôles TNMHTTP dans le répertoire de Delphi. NT4 +, Win95 +, IE3 +, vous pouvez utiliser la fonction du surnom URL.
utilise urlmon; ... Olecheck (urldownloadtofile ( nil , «url», «nom de fichier», 0, nil )); |
Vous pouvez également transmettre une implémentation IbindStaturSCallback pour suivre la progression du téléchargement ou contrôler le téléchargement abandonné. Une occasion simple peut être effectuée en une phrase.
BTW, le surnom d'URL résume la plupart des URL, au lieu de encapsulant des protocoles comme NMHTTP, afin que vous puissiez utiliser UrldownloadToFile pour télécharger les fichiers HTTP, FTP et même locaux et LAN, ainsi que d'autres surnoms personnalisés, tels que MSITSTORE (MSDN Lo dans le document de la libraire).
var DownloadFile: tFileStream; Begindio Téléchargement File: = tFileStream.create ('c: /aa.rar',fmcreate); Idhttp1.get ('http://www.sina.com.cn/download/aa.rar',,Downloadfile); DownloadLoadFile.free; fin ; // ------------------------------------------------ -------------------------------------------------- --------------------------- |
Fin du programme