|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
UPLOAD D'IMAGES VIA ADODB.STREAM ET SQL SERVER
Information sur la source
Description
Ce code permet comme son nom l'indique d'uploader sur un serveur distant des images via SQL Server et ADODB.Stream Votre base SQL Server est installée sur un serveur distant. Pourquoi SQL Server ? et bien la réponse est simple, il s'agit de pouvoir mettre en local une chaine de connection à une base de données distantes ( étant donné que je ne pense pas que l'on puisse le faire avec ACCESS ... ) Pour se faire votre base de données doit contenir une table avec un champ image. Vous avez un fichier en local pour lire les fichiers sur le disque dur, un autre fichier sur serveur distant pour réceptionner les fichiers envoyés
Source
- 'Pour commencer une page local pour mon exemple je choisi envoi.asp
- 'Ne pas oublier d'importer la dll permettant d'utiliser ADODB.Stream
-
- <!--METADATA TYPE="typelib"
- UUID="00000205-0000-0010-8000-00AA006D2EA4"
- NAME="ADODB Type Library"
- -->
-
- 'Ensuite la fameuse connection avec la base SQL Server
- Conn = "DRIVER={SQL SERVER};user id=login; Password=motdepasse ; server=adresse de votre base; database=nom de la base"
-
- 'On selectionne ensuite la table sensée contenir les images
- Set rs = server.CreateObject("ADODB.Recordset")
- SQL="SELECT * FROM images"
- RS.open SQL, conn, 3, 3
-
- 'On ouvre l'objet STREAM
- Set Stream = server.CreateObject("ADODB.Stream")
- 'On définit le type de données a lire ( ici données binaires, vous pouvez aussi mettre 1 à la place de adbinary )
- Stream.Type = adTypeBinary
- Stream.Open
- 'On définit le fichier a Uploader
- Stream.loadFromFile ("c:\monrep\monfichier.extension")
-
- 'On crée un nouvel enregistrement dans la table
- rs.addnew
- 'Mon champ image recoit les données binaires
- rs.fields("image") = Stream.read
- 'Mise à jour de la base de données
- rs.update
- 'Fermeture des objets
- rs.close
- stream.close
- Set rs=nothing
- Set stream=nothing
- response.redirect "adressedelapagedistante"
-
- '----------------------------------------------------------------
- 'Intervient maintenant la page distante
- 'Toujours ne pas oublier la dll
-
- <!--METADATA TYPE="typelib"
- UUID="00000205-0000-0010-8000-00AA006D2EA4"
- NAME="ADODB Type Library"
- -->
-
- 'Connection à la base SQL Server
- Conn = "DRIVER={SQL SERVER};user id=login; Password=motdepasse ; server=adresse de votre base; database=nom de la base"
-
- 'Connection a la table
- Set rs = server.CreateObject("ADODB.Recordset")
- 'Je vais chercher le premier enregistrement dans mon exemple
- SQL="SELECT * FROM images WHERE id like 1"
- RS.open SQL, conn, 3, 3
-
- 'Ouverture de l'objet STREAM
- Set Stream = server.CreateObject("ADODB.Stream")
- 'On définit le type de données a lire ( ici données binaire, vous pouvez aussi mettre 1 à la place de adbinary )
- Stream.Type = adTypeBinary
- Stream.Open
-
- 'On recupère les données comprise dans le champ
- Stream.write rs.fields("image").value
-
- 'Maintenant on crée le fichier sur le serveur distant
- 'Avec une adresse physique
- 'Ici le mode d'écriture du fichier est en écrasement
- Stream.SaveToFile "cheminphysique\lenomdufichier.extension", adSaveCreateOverWrite
-
- 'On ferme tous les objets
- rs.close
- stream.close
- Set rs=nothing
- Set stream=nothing
-
- ' Il ne reste plus qu'a vérifier ;)
'Pour commencer une page local pour mon exemple je choisi envoi.asp
'Ne pas oublier d'importer la dll permettant d'utiliser ADODB.Stream
<!--METADATA TYPE="typelib"
UUID="00000205-0000-0010-8000-00AA006D2EA4"
NAME="ADODB Type Library"
-->
'Ensuite la fameuse connection avec la base SQL Server
Conn = "DRIVER={SQL SERVER};user id=login; Password=motdepasse ; server=adresse de votre base; database=nom de la base"
'On selectionne ensuite la table sensée contenir les images
Set rs = server.CreateObject("ADODB.Recordset")
SQL="SELECT * FROM images"
RS.open SQL, conn, 3, 3
'On ouvre l'objet STREAM
Set Stream = server.CreateObject("ADODB.Stream")
'On définit le type de données a lire ( ici données binaires, vous pouvez aussi mettre 1 à la place de adbinary )
Stream.Type = adTypeBinary
Stream.Open
'On définit le fichier a Uploader
Stream.loadFromFile ("c:\monrep\monfichier.extension")
'On crée un nouvel enregistrement dans la table
rs.addnew
'Mon champ image recoit les données binaires
rs.fields("image") = Stream.read
'Mise à jour de la base de données
rs.update
'Fermeture des objets
rs.close
stream.close
Set rs=nothing
Set stream=nothing
response.redirect "adressedelapagedistante"
'----------------------------------------------------------------
'Intervient maintenant la page distante
'Toujours ne pas oublier la dll
<!--METADATA TYPE="typelib"
UUID="00000205-0000-0010-8000-00AA006D2EA4"
NAME="ADODB Type Library"
-->
'Connection à la base SQL Server
Conn = "DRIVER={SQL SERVER};user id=login; Password=motdepasse ; server=adresse de votre base; database=nom de la base"
'Connection a la table
Set rs = server.CreateObject("ADODB.Recordset")
'Je vais chercher le premier enregistrement dans mon exemple
SQL="SELECT * FROM images WHERE id like 1"
RS.open SQL, conn, 3, 3
'Ouverture de l'objet STREAM
Set Stream = server.CreateObject("ADODB.Stream")
'On définit le type de données a lire ( ici données binaire, vous pouvez aussi mettre 1 à la place de adbinary )
Stream.Type = adTypeBinary
Stream.Open
'On recupère les données comprise dans le champ
Stream.write rs.fields("image").value
'Maintenant on crée le fichier sur le serveur distant
'Avec une adresse physique
'Ici le mode d'écriture du fichier est en écrasement
Stream.SaveToFile "cheminphysique\lenomdufichier.extension", adSaveCreateOverWrite
'On ferme tous les objets
rs.close
stream.close
Set rs=nothing
Set stream=nothing
' Il ne reste plus qu'a vérifier ;)
Conclusion
Pour que cela fonctionne, il faut que le serveur dispose du logiciel SQL Serveur... evidemment, que le serveur n'ai pas bloqué la fonction Stream. - Quelques Avantages : Facile à programmer et à amménager Pas de composant installé sur le serveur - Quelques Inconvénients : Trouver un serveur qui dispose de SQL Server et n'ayant pas désactivé le Stream Avoir sa propre liscence somme toute couteuse ;) Enfin cela reste un moyen détourné ... Bonne journée a tous PS si quelqun connait une chaine de connection pour une base de données distante ACCESS étant donné que je ne sais pas si cela se fait ...
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Upload Nix [ par Clem ]
Pui je utiliser ton upload pour mon site que je suis en train de faire sur la programmation (Vb,C++,Qb,ASP,Javascript,API,VRML) ?Et comment faire pour
upload [ par rico ]
je monte un site avec une base de donnée access possedant un objet ole, 3 problèmes se posent à moi :1__ pouvoir réaliser un upload du fichier sélecti
pour nix à propos de upload 2.0 [ par bernard ]
Salut Nix,Tout d'abord merci pour le code, je l'utilise actuellement pour uploader 1 fichier attaché depuis mon site dans le cadre d'un dépot de CV en
Lire un fichier binaire [ par dan ]
je voudrais lire le contenu d un fichier binaire, mais je ne trouve que la fonction OpenFileText pour lire le contenu du fichier, et evidemment j ai t
Lister un répertoire sur un serveur [ par Nabel ]
Bonjour, bonjour,Voilà le pb : ma page asp permet d'uploader des fichiers sur le serveur, mais qd j'upload un fichier qui a le même nom qu'un fichier
Upload de fichier automatique, GALERE [ par vincentp ]
Bonjour à tous,Mon projet est d'envoyer des fichiers sur internet avec VB6 sans passer par le ftp. Sur ce site je peux créer des pages ASP et donc réc
Ecrire un fichier binaire [ par yoyo2 ]
Bonjour à tous,Je voudrais savoir s'il y a un équivalent à CreateTextFile pour les fichiers binaires.En PHP on peut le faire mais en ASP je n'ai rien
Vérifier la taille d'un fichier avant l'upload [ par Dura ]
BonjourJ'ai un petit prob,Dans un formulaire classique, il y a un champ "image" = upload!Je vérifie tous les champs sauf la taille du fichier à upload
upload + verification [ par bebe.vodka ]
salut!voila, en fait j'utilise le composant aspSmartUpload dans un programme pour l'upload de fichiers. je verifie aussi si mon fichier existe deja su
Formulaire d'upload d'un fichier et du passage d'autre infos [ par Jerome ]
Bonsoir,Je cherche à créer un formulaire avec plusieurs champs:Nom: champ textePrenom: champ textePhoto: image que l'utilisateur va chercher sur son d
|
Téléchargements
Logiciels à télécharger sur le même thème :
|