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 !

Sujet : insertion Image dans ma BD via upload [ Archives / Base de données ] (alf666666)

mardi 16 août 2005 à 09:39:00 | insertion Image dans ma BD via upload

alf666666

Hello, J'aimerai, avec le code suivant (trouvé sur le site), insérer une image ou fichier non pas sur mon disque dur, mais simplement dans ma BD.

Sélectionnez le fichier à uploader :

Vous avez Uploadé le fichier : #File.ClientFileName#.#File.ClientFileExt#
dans le répertoire : #File.ServerDirectory#
Merci de votre aide

jeudi 18 août 2005 à 11:40:38 | Re : insertion Image dans ma BD via upload

bastoun

Bon... j'ai jamais réellement essayé, mais si je ne me trompe pas c'est un truc du genre :
tu écris ton fichier sur le serveur (comme dans ton source), tu le lis avec un <cffile action="readBinary"....>, tu convertis le tout en base64(afin d'en faire des caractères gérables) et tu insères ceci en base, dans un blob. et tu effaces le ficheir original.

Pour le lire, tu lis en base, et tu convertis en binaire. Et n'oublie pas d'indiquer le type mime avec le tag cfcontent...

faudra que j'essaye tiens... par contre ça risque d'utiliser énormément de ressources au niveau serveur, si les fichiers sont gros ou si plusieurs personnes l'utilisent en même temps


jeudi 18 août 2005 à 11:52:47 | Re : insertion Image dans ma BD via upload

alf666666

Hello, Merci... Mais y a rien de moins compliqué qui existe pour mettre simplement un fichier sur une BD ? c'est superbement expliqué mais je serais totalement incapable de le faire.. et un blob ? jamais entendu ce terme... en fait le seul but de ma demande.. et que le client puisse me mettre à disposition une photo de son établissement... et que moi, ben je l'affiche sur sur son compte...et tout ca automatiquement... tu vois ce que je veux dire ? Merci Salutations Alf

jeudi 18 août 2005 à 12:46:42 | Re : insertion Image dans ma BD via upload

bastoun

bah... dans ce cas, tu stockes juste le nom du fichier en base, dans la table de l'etablissement, et tu stocke tous tes fichiers dans un répertoire particulier... c'est plus simple et plus light.

Pour récupérer le nom du fichieir avant de l'insérer utilises plutot #File.ServerFileName# qui est le nom généré par le serveur si jamais tu gères le nom unique...

si tu n'y arrives, je te ferais une petit exemple


jeudi 18 août 2005 à 13:07:17 | Re : insertion Image dans ma BD via upload

alf666666

Je prend bien bien volontiers ton exemple...j'ai tellement peu d'expérience en coldfusion... Merci encore

lundi 22 août 2005 à 12:15:45 | Re : insertion Image dans ma BD via upload

bastoun

désolé, j'ai pas encore eu le temps de t'en écrire un...
bon... allez, j'en pond un vite fait, il est pas complet. il permet juste d'insérer en base(je pense qu'il faut aussi gérer les suppressions en base et la suppression de fichier..Il faudrait aussi gérer les erreurs...).

Je sais pas s'il fonctionne... car pas testé tel quel (peut êtres quelques petits bugs à corriger).

Je parts du principe que tu as une autre table pour gérer tes photos (te permettant d'en avoir ainsi plusieurs par etablissement, si tu mets une clef primaire autoincrementable dans ta table photo), et que tu cliques sur un lien (ou tu proviens d'un formulaire) avec en parametre ton identifiant unique d'etablissement (etablissementidx ??) pour arriver sur le formulaire d'upload.
bon, je sauvegarde aussi le nom original de la photo (pour faire bien...), mais celui à utiliser est celui généré côté serveur (pour éviter les conflits de nom)

<cfset destination="c:\Test">

<cfif not isdefined("form.fichier")>

   <cfform action="upload.cfm" enctype="multipart/form-data" method="post">
    <p>Sélectionnez le fichier à uploader :
    <input type="file" name="fichier" size="45"></p>
    <input type="Submit" value"Uploader">
    <input  type="hidden" name="etablissementIdx" value="#etablissmentidx#">
    </cfform>

<cfelse>
<!--- Sauvegarde fichier --->
        <cffile action="UPLOAD" filefield="NoteFile" destination="#Destination#" nameconflict="MAKEUNIQUE">
   
        <!--- Référence le fichier dans la base --->
        <cfquery datasource="tonDatasource">
            INSERT INTO Photo( PEtablissementIdx, POriginalName, PFileName)
            VALUES( #etablissementIdx#, '#cffile.clientFile#', '#cffile.serverFile#' )
        </cfquery>
      
        Upload effectué...
</cfif>


lundi 22 août 2005 à 12:19:29 | Re : insertion Image dans ma BD via upload

bastoun

ah oui... la table est comme suit :
Photo( PIdx,PEtablissementIdx, POriginalName, PFileName)



mardi 23 août 2005 à 08:55:06 | Re : insertion Image dans ma BD via upload

alf666666

Salut Bastoun, Un grand merci pour ton aide encore une fois. Petite question : tu pourrais juste me dire à quoi correspond exactement les champs dans la table photo, et de quel genre sont-ils ? style si PEtablissement c'est un char ou bien un int etc...et à quoi sert-il en 2 mots. 2ème questions : que veut dire cette ligne de code Merci Merci

mardi 23 août 2005 à 09:58:55 | Re : insertion Image dans ma BD via upload

bastoun

Réponse acceptée !
le <input type="hidden"...> c'est un champ caché pour passer la variable correspondant à l'identifiant unique de ton etablissement... tu peux faire comme ça ou autrement (var de sessions par exemple... à toi de voir...  suivant ce que tu souhaites faire)

pour la table, je ferais par exemple :
pidx : numérique autoincrémentable (à toi de voir quel type de numérique)
petablissementidx : même type que ta clef primaire de la table etablissement (je suppose ici numérique entier)
pour les champs noms : bah... un champ de caractères de 256 devrait suffire

bon. le prends pas mal, mais j'ai l'impression que tu rames graves, et pas seulement en coldfusion. Si tu veux pouvoir être capable de te débrouiller seul, il faut que tu aies quand même de bonnes bases en HTML (ou XHTML) , c'est mieux..
 Je te conseillerais aussi de trouver la doc de CFMX en français, ou un bouquin (genre celui de campuspress) sur cfmx, et de lire attentivement et en t'aidant des exemples pour faire tes propres petites appli...Pas besoin de tous lire au départ, juste les parties de premiers pas et d'introduction... tu liras la partie avancée après.. comme ça, tu acquierera les bases de CF... normalement il y a quelques petites explications(trés succintes) dans ce bouquin sur SQL et les bases de données... c'est auss trés utile. Je te conseillerais donc de prendre, à terme, également un bouquin(ou une doc sur le net) d'introduction aux bases de données et au SQL






Cette discussion est classé dans : fichier, bd, file, image, insertion


Répondre à ce message

Sujets en rapport avec ce message

Insertion donnée dans BD MySql et création de la clé primaire [ par alf666666 ] Bonjour, Je désire simplement faire une insertion de données dans ma BD MySql. Mais dans ma BD, y a une clé primaire, donc comment dire à mon insertio Insertion dans une BD avec controle avans insertion finale [ par alf666666 ] Hello, Je désire pouvoir controler ce qu'un internaute insère dans ma BD. Exemple : un internaute insère un nouvel élément grace à un formulaire. Je Fichier attaché [ par gilloux67 ] Bonjour,Je pose une petite question toute simple pour les pros du CFM. J'ai un formulaire en cfm, qui fonctionne sans problème avec récuperation des c Recherche sur toutes les tables de ma bd [ par alf666666 ] hello, Comment faire une recherche sur toutes les tables de ma BD lorsque l'internaute tape qu'un mot du style, je tape le mot "test" et le site va m Pb insertion balises CFML dans un textarea [ par mandaillou ] BonjourJe voudrais afficher la requête suivante dans un textarea.  <cfquery name="test" datasource="#da Problème de formulaire [ par renzo1395 ] Bonjour à tous, Mon problème est le suivant : J'ai crée un formulaire avec un champ qui permet de sélectionner un fichier ( input file), j'aimerais Lire des répertoires et leur fichier [ par JCFaitDuPHP ] Salut,Je tente désespérément de lister dans une page html des répertoires et les fichiers qu'ils contiennent.Comme ceci :Dossier 1Fichier1Fichier2Doss CFFTP avec un CFMODULE [ par genjikun ] Bonjour,J'essaye de faire un CFFTP en passant par un CFMODULE !Voici le code : Fichier " test.cfm "<CFMODULE TEMPLATE="Module.cfm" Login="testLogin" P fichier .cfm compile [ par mahrek ] Bonjour j'ai un probleme avec un fichier que j'ai pu recupere de mon serveur coldfusion.mais quand j'ouvre le fichier source .cfm je ne vois que du ch Lire un fichier distant [ par etsuj ] Bonjour,Voici mon problème, je dois aller lire un fichier XML se trouvant a une adresse HTTP:// mais nécessitant un username et password.Je sèche sur


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.