Free and shareware Components


Download Products


DypsWebCapture : Capture Web page as thumbnail image

Documentation
Example
Download
Buy

New release with embed IE and Firefox rendering engine !



DypsFTP : Manage a FTP site from your script

Documentation
Buy


DypsImg2SWF : Protect and save your image as SWF/Flash format!

Documentation
Example
Download
Buy


DypsXLS for ASP: Générateur de fichier Excel

New features!
Documentation
Exemple d'utilisation
Download
Buy


DypsMetaGrabber : get Meta Tag from any web page!

Documentation
Example
Download
Buy


DypsAntiSpam for ASP

Features
Exemple d'utilisation
Download
Buy

DypsoPRank for ASP

Features
Exemple d'utilisation
Download
Buy

Pop3 Checker for ASP

Features
Exemple d'utilisation
Download
Buy

SVG Pie chart Maker for ASP

Features
Exemple d'utilisation
Download

DypsRTF for ASP

Features
Exemple d'utilisation
Download
Buy

What's New ?


Mise en ligne du premier outil gratuit pour générer des fichiers Excel depuis ASP : DypsXLS !
[Lire la suite]

Et un forum Le site se dote d'un forum pour vous permettre de partager toujours plus.
[Rejoigner nous]

Annuaire de scripts ! Un annuaire de scripts et de liens utiles vers des ressources pour le développement
[Lire la suite]

Création d'un outil gratuit pour retrouver ses mails : Pop3 Checker for free !
[Lire la suite]

Création d'un outil gratuit pour générer des graphiques vectoriels à la volée: Free SVG Pie chart Maker !
[Lire la suite]
Imprimer la page

Techniques

Cette section permet de regrouper un ensemble de techniques ou de scripts qui ont l'originalité d'arriver à résoudre une difficulté avec le moindre effort ou qui sont particulièrement efficaces...


Techniques / Download fichier HTML+ressouces dans un message MIME avec CDONT

  •  Forcer le téléchargement d'un fichier au format MIME en ASP :

Cette technique est assez particulière, j'ai du l'utiliser notamment pour sauvegarder des messages au format HTML dans une base SQL Server pour une application cliente. C'est une prmière utilisation du script, mais il permet notamment lorsque le besoin s'en fait sentir d'envoyer le contenu d'un tutorial ou d'un article avec l'ensemble de ses ressources (images/feuilles de style) en un seul envoi... D'ordinaire pour réaliser ce type d'opérations deux solutions sont envisagées :

  • Envoyer le contenu de l'article dans un fichier zip
  • Générer un fichier PDF à la volée

En lisant les articles précédents comme convertir un fichier HTML en PDF à la volée, il est bien sur possible d'envoyer le contenu désiré sous le format PDF , ce qui ne pose pas de problèmes car les images, font (,etc.) sont intégrées à la page générée... Le problème vient du fait que les feuilles de styles quant à elles ne sont pas supportées. Conclusion : la mise en page des articles devra dans ce cas se faire en utilisant des tableaux.

En ce qui concerne la seconde méthode, l'utilisation d'un composant permettant d'effectuer des fichiers ZIP s'impose, à moins d'effectuer des mises à jour régulières et d'effectuer manuellement le zip des fichiers (HTML+IMAGES+CSS).
Dans un prochain article, je proposerais en téléchargement, un composant permettant d'effectuer des fichiers zip, à la volée, ou d'exploiter d'anciennes archives au format zip pour en explorer le contenu!

La technique suivante quant à elle est bien plus simple à mettre en oeuvre, en effet elle se base sur la dll CDONT qui permet d'envoyer des mails depuis ASP. Parmi les possibilité de cette dll, il est aussi possible d'envoyer des messages au format HTML.

Pour vous figurer le résultat attendu, il vous suffit d'ouvrir votre navigateur Internet Explorer sur une page web, et de cliquer sur l'onglet :

Enregistrer Sous...

Parmi la liste des extentions possibles, une devrait retenir votre attention :

Archive Web, fichier seul (*.mht)

Le résultat de l'enregistrement, se trouve être un fichier au format MIME contenant donc l'ensemble des ressources attachées dans un seul et même document! Chacun des éléments est séparés par une ligne de boundary et ainsi les images sont intégrées au fichier et encodées en base64 comme ci-après :

------=_NextPart_000_0067_01C558BA.194A7AC0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-ID: <002001c558a9$5262afe6$_CDOSYS2.0>
Content-Disposition: inline

R0lGODlhDgEUAJECANPi6b/P1v///wAAACH5BAEAAAIALAAAAAAOARQA
AAL/lI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2TQP6zut4
FQgKEcIgsfgpBh7Kn9PRi+6ekaZBuTwgk9uGlQo29BJjQVk8HZ8PUsCi
bRis1/BPHs0Du1d/t0YFraGNmXGQ+hm2OaDCNco5dB0d7Xn95cn1/XXF
qMgISsh22PjIsPaphbTH2tr3hYVJB8vZifN55mjK+xgKmti7MGmpWVtZ
V0xZqXz7NAgdhaBbqiANPF09LLsaewzY3A1Yl+xss6gajU667quawL3M
k1Vun0SC7ABKvIgxh7aCFsEyevwIMqTIkSRLmjyJMqXKlSxRFgAAOw==

...

De même pour les feuilles de styles (CSS) :

------=_NextPart_000_0067_01C558BA.194A7AC0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-ID: <001f01c558a9$5262afe6$_CDOSYS2.0>
Content-Disposition: inline

/* generic styles */=0A=
body, input, td, select, textarea {=0A=
font-family: Verdana, Arial, Helvetica, sans-serif;=0A=
font-size: 11px;=0A=
color: #666666;=0A=
background-color: #FFFFFF;=0A=
margin-top: 0px;=0A=
margin-right: 0px;=0A=

...

Dans l'exécution d'un script il est donc possible de créer un message HTML constitué de la source d'une page, même en ligne(!), et de stocker le résultat de ce message dans un objet Stream avant de l'enregistrer sur le server. Le fichier ainsi créé peut être renvoyer au poste client par un simple download .

Le résultat du script suivant sera donc l'ouverture d'une boîte de dialogue de type "Enregistrer le document", proposant le téléchargement d'une page html au format d'archive web que l'oin peut aisément ouvrir avec Internet Explorer ou bien stocker en base de données pour réutilisation ou encore garder pour avoir la base d'un message mail au format HTML :

<%

dim message, conf, stream 
set message = CreateObject("CDO.Message") 
set conf = CreateObject("CDO.Configuration") 
set message.Configuration = conf 

'Création du message HTML à partir 
'd'une page en ligne
message.CreateMHTMLBody "http://dypso.free.fr" 

'Récupération du contenu du message dans un flux
set stream = message.GetStream() 

'Sauvegarde du résultat sur le serveur
stream.SaveToFile server.mapPath("dypso.mht")
Stream.Close
Set Stream = Nothing


Response.buffer = true
with response
 .Clear
 .ContentType = "message/rfc822""
 .Charset = "UTF-8"
 .AddHeader "Content-Disposition", _
    "attachment;filename=dypso.mht"
	  
Set Stream = Server.CreateObject("ADODB.Stream")	  
Const adTypeBinary = 1
Stream.Open
Stream.Type = adTypeBinary
Stream.LoadFromFile server.mapPath("dypso.mht")

 .BinaryWrite stream.Read
	    

   'Vider le contenu de la réponse contenu dans le buffer
 .Flush
end with

Stream.Close
Set Stream = Nothing

set message= nothing
set conf=nothing
%>

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'dypso'@'172.20.245.55' (using password: YES) in /mnt/110/sdb/3/1/dypso/include/tools.php on line 106
Impossible de se connecter : Access denied for user 'dypso'@'172.20.245.55' (using password: YES)