Les Snippets

Connexion

Télécharger un fichier par Inet

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 22/03/2006 21:22:46 et initié par PCPT [Liste]
Date de mise à jour : 18/11/2008 15:04:38
Vue : 9719
Catégorie(s) : Réseau & Internet
Langages dispo pour ce code :
- VB6
- Delphi 5



Langage : VB6
Date ajout : 22/03/2006
Posté par PCPT [Liste]

Private Sub Command1_Click()   '   source     Dim sUrl As String       sUrl = "http://blogs.developpeur.org/images/blogs_developpe" & _            "ur_org/nix/491/o_CodyxWallpaper6.jpg"   '   destination (app.path + nom du fichier distant)     Dim sDest As String       sDest = App.Path       If RightB$(sDest, 2) <> "\" Then sDest = sDest & "\"      sDest = sDest & Right$(sUrl, Len(sUrl) - InStrRev(sUrl, "/"))  '   download     Dim aBytes() As Byte, FF As Integer       With Inet           .AccessType = icUseDefault           .Protocol = icHTTP           aBytes = .OpenURL(sUrl, icByteArray)           Do Until Not (.StillExecuting)              DoEvents           Loop       End With   '   écriture disque     FF = FreeFile       Open sDest For Binary Access Write As FF           Put #FF, , aBytes()       Close FF       Erase aBytes       MsgBox "Terminé"   End Sub

Langage : Delphi 5
Date ajout : 18/11/2008
Posté par cirec [Liste]
DateMAJ : 18/11/2008

Uses InetCtlsObjects_TLB { voir les commentaires }; 

{ renvoie tout ce se trouve après le dernier "/" }  
Function ExtractUrlFileName(Const aUrl: String): String;  
Var 
{$ifdef  ver200} 
    Ptr : PWord; 
{$else}  
    Ptr : PByte; 
{$endif} 
    I, Lng :  Integer; 
Begin 
  Result := aUrl;  
  Lng := Length(aUrl); 
  Ptr := @Result[Lng]; 
  For I := Lng Downto  1 Do 
  Begin  
    If Ptr^ = $2F Then Break; 
    Dec(Ptr); 
  End; 
  Inc(Ptr); 
  Result := Pchar(Ptr);  
End; 
{  Télécharge "Source" vers "Dest" avec INet
  si "Dest" est vide c'est le nom de fichier  
  contenu dans "Source" qui est utilisé } 
Function DownloadFileFromUrl(Const Source: String; Var Dest:  String): Boolean; 
Type 
  TBArray = Array Of  byte; 
Var aByteBuffer:  olevariant; 
    p: pointer; 
    I: Cardinal; 
Begin 
  Result := True; 
  With TInet.Create(Nil) Do 
  Try 
    Try  
      AccessType := icUseDefault; 
      Protocol := icHTTP;  
      aByteBuffer := OpenURL(OLEVariant(Source), icByteArray);  
      While StillExecuting Do ; 
    Except  
      Result := False; 
      Exit; 
    End; 
  Finally  
    Free; 
  End;  
  With TMemoryStream.Create Do 
  Try 
    Try 
      I :=  VarArrayHighBound(aByteBuffer, 1)+1; 
      DynArrayFromVariant(P, aByteBuffer,  TypeInfo(TBArray)); 
      WriteBuffer(P^, I); 
      If Dest = '' Then 
        Dest := ExtractUrlFileName(Source);  
      SaveToFile(Dest); 
    Except  
      Result := False; 
    End; 
  Finally  
    Free; 
    aByteBuffer := Unassigned;  
    DynArrayClear(P, TypeInfo(TBArray)); 
  End; 
End;  
{ Utilisation } 
Procedure Tfrm_Main.btn_TestINetClick(Sender:  TObject); 
Var aDest: String; 
Begin  
  aDest := ''; 
  If DownloadFileFromUrl('http://www.delphifr.com/gdi/c/45850.cs.jpg', aDest) Then 
    ShowMessagefmt('Le  téléchargement de %s a réussit', [aDest]) 
  Else 
    ShowMessagefmt('Le  téléchargement de %s a échoué', [aDest]); 
End; 
Remarque :
En premier il faut importer l'ActiveX "MSINET.OCX"
nommé : Microsoft Internet Transfer Control 6.0 (SP6)
créer l'unité .. vous devrez obtenir à peut près ceci : "InetCtlsObjects_TLB.pas"
qu'il faut ajouter à la clause "Uses" ... enjoy ;)

Snippets en rapport avec : Fichier, Téléchargement, Distant, Inet, Télécharger



Codes sources en rapport avec : Fichier, Téléchargement, Distant, Inet, Télécharger

{Visual Basic, VB6, VB.NET, VB 2005} TÉLÉCHARGEMENT DE FICHIER VIA ISXDL.DLL
Explication de fonctionnement de la DLL isxdl.dll qui permet de télécharger très simplement des fich...

{C / C++ / C++.NET} TELECHARGER UN FICHIER (WIN32)
Téléchargement d'un fichier (url) comme le fait Internet Explorer. ...

{JAVA / J2EE} RECHERCHER DE FICHIERS AVEC UNE REGEX
Rechercher tout les fichiers avec un regex qui existes dans un dossier et les afficher sur une page ...

{Visual Basic, VB6, VB.NET, VB 2005} TÉLÉCHARGEUR DE FICHIER SUR MEGAUPLOAD
Mega-téléchargeur: Cette application permet de télécharger sur megaupload.com des fichiers sans ...

{Visual Basic, VB6, VB.NET, VB 2005} YMDOWNLOADER
[vb6] Ce petit code permet de télécharger n'importe quel fichier sur le web. Il se place dans une li...

{PHP} FORCER LE TÉLÉCHARGEMENT D'UN FICHIER SIMPLEMENT
Ce script permet de forcer le téléchargement d'un fichier. La variable $exts_allowed est le table...

{C / C++ / C++.NET} YOYODOWN - TÉLÉCHARGEMENT HTTP [DEV-C++ 4.9.9.2]
Comme le titre l'indique, ce petit programme est un téléchargeur HTTP. Vous rentrez l'URL complète ...

{PHP} FORCER UN TÉLÉCHARGEMENT (REPRISE DU CODE DE "EJBYE7"), ON SYNTHÉTISE !!
Ce code sert à forcer le téléchargement d'un fichier (pratique pour les .txt .mp3 ...)que le navigat...

{C# / C#.NET} TÉLÉCHARGEMENT D'UN FICHIER VIA FORM AVEC EVÉNEMENTS ET PROGRESSBAR
Cette source permet de télécharger un fichier via une Form. Le téléchargement se fait en arrière pla...

{Visual Basic, VB6, VB.NET, VB 2005} LIRE UN FICHIER TXT SUR UN SITE INTERNET / VOIR CONNECTION INTERNET / SOUS FORME DE CONTROL
j'ai créer ce code qui est parfaitement fonctionnel, qui sert à deux choses. 1) vérifier si l'on es...