FileUpload

msaincta Messages postés 1 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 21 janvier 2010 - 21 janv. 2010 à 17:02
cs_noux Messages postés 2 Date d'inscription mercredi 15 octobre 2003 Statut Membre Dernière intervention 9 février 2010 - 9 févr. 2010 à 15:34
Bonjour tout le monde,

J'ai utilisé un controle " FormView " dans une application Web pour insérer des enregistrements dans une base de données SQLServer.
Parmis les champs que j'avais dans le controle " FormView ", le controle " FileUpload " qui permet de récupérer le chemin de fichier à charger.

le problème c'est que comment je peut insérer la donnée que contient le controle " FileUpload " dans la base de données ;
Autrement, comment je peut utiliser la fonction "Bind()" pour avoir la possibilité d'insérer ce qui contient le controle " FileUpload " dans la base de données .

Merci pour votre aide

1 réponse

cs_noux Messages postés 2 Date d'inscription mercredi 15 octobre 2003 Statut Membre Dernière intervention 9 février 2010
9 févr. 2010 à 15:34
Bonjour,

Je doute que ce que tu veuilles faire se fasse avec les assistants et le binding auto ... (VS2010 peut etre ?)

Tu vas au moins devoir gérer l'affichage à la main, avec un bout de code pour régénérer ton image (avec une page aspx dédiée ou un UserControl).
Car en WebForm, tu ne peux pas lier un objet Image à une source autre qu'un chemin vers une image.

Pour ce qui est de l'upload, c'est un peu pareil, ton FileUpload va récupérer le fichier, mais comment lui dire d'injecter en base le Byte[] correspondant à ton image, plutot que le nom par ex ?

Dans ton cas, tu peux attraper sur le CommandName (=Insert) passé en argument par le FormView, sur l'event ItemCommand du FormView, et faire ta sauce pour le stockage en base.

Pour l'affichage, tu mets un composant Image dans ton formView, mais tu ne fais pas de lien avec la source de donnée, à la place tu fais un lien vers une nouvelle page aspx (ça ressemble à: Eval(idImage, "image.aspx?id={0}")), qui s'occupera de régénérer ton image depuis le Byte[] stocké en base (en fait image.aspx génère ici une image, grâce à un ResponseContent typé en image).

C'est un peu vieux comme souvenir mais je dois pas être loin de la vérité.

J'espère que ça pourra aider.

noux







===========================
0
Rejoignez-nous