Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNDéveloppementDéveloppementcreer un code pour Upload image!!!creer un code pour Upload image!!!
Précédente
 
Suivante
Nouveau message
04/03/2009 11:38
 

Bonjour a tous,

En fait je suis un étudiant en multimedias, j'ai décidé de faire mon projet de fin d'étude en ASP.NET, et précisament je vais utiliser DNN parce que c'est un CMS qui n'est pas du tout connu ici en Tunisie, et je pense que sa sera un plus pour moi devant les jury, vue que je n'est pas étudié le DOTNET tout le long de mes etudes universitaire, ce qui est encore un plus pour moi.

Alors comme je suis encore débutant en DotNetNuke, je rencontre toujours des problèmes en développant mes modules, ce qui est tout à fait normal.

A ce stade là, je suis en train de programmer un module client, qui permettera de saisir les données des client et par suite les stocker dans la base de données.

En ce qui concerne les champs de texte, tout va bien. Par contre, dans ce formulaire, il me faut un code qui permettera au client de charger son propre Logo avec le reste des informations. Sa fait plus d'une semaine que je cherche un moyen pour faire cette tache, mais je n'ai pas encore eu la chance de trouver ce fameux code pour le "upload image". Je suis alors venu sur ce site, en espérant que les autres programmeurs m'aident à trouver la solutions, surtout que le temps presse, et je dois avancer pour bien finir mon projet.

Merci pour s'interesser à mon sujet, et je compte sur vous pour sortir de cette situation.

 
Nouveau message
04/03/2009 13:49
 

Bonjour !

DotNetNuke fournit un contrôle pour le chargement de fichiers. Voici comment l'utiliser.

- ASCX

<%@ Register TagPrefix="dnn" TagName="URL" Src="~/controls/URLControl.ascx" %>

<dnn:URL ID="MyUrlControl" runat="server" FileFilter=".jpg,.gif,.png" ShowFiles="true" ShowTrack="false" ShowLog="false" />

- Côté CodeBehind

Dans la base de données, stocke le FileID integer qui t'es retourné par l'URLControl sous la forme brute "fileid=X". Je te laisse voir le reste du DataBind car je n'ai pas beaucoup de temp mais voici une fonction qui peut t'aider un peu.

Select Case MyUrlControl.UrlType
  Case "F"
    Dim ImageFileId As Integer = Integer.Parse(MyUrlControl.Url.Substring(7))
    Dim objFileController As New FileController
    Dim objImageInfo As DotNetNuke.Services.FileSystem.FileInfo = objFileController.GetFileById(ImageFileId, PortalId)
    ImageUrl = PortalSettings.HomeDirectory & objImageInfo.Folder & objImageInfo.FileName
  Case "U"
    ImageUrl = urlImage.Url
End Select

 

seb

 

 
Nouveau message
14/03/2009 16:09
 

Alors tu en es où de ce projet d'études ?

 
Nouveau message
14/03/2009 20:34
 

Merci en fait pour le bout de code que vous m'avez donné, malgré que sa ne m'a pas été très utile, mais mille merci. Au moin vous êtes serviable. Mais j'ai pas trop compris ce que j'en devais faire.

quand à mon projet, j'avance peu à peu, je découvre chaque jour de nouveaux trucs sur le développment des modules, mais le plus grand probleme c'est "Comment adapter ASP.NET avec les fichiers propores au module DNN?"

Un autre probleme, j'ai jamais développé avec ASP.NET. Mais sa dois compter devant les jury le fait d'utiliser une technologie qu'on n'a pa vu durant 5 semestres :D

Mais je me demande s'il existe des tutoiels sur le developpement des modules en DNN avec la methode DAL+? Genre des sites top secret qui sont pas connus par tt le monde :p

zied

 
Nouveau message
17/03/2009 16:07
 

bonjour,

Me revoila avec toujours des questions à propos de ce fameux "Upload Image" !!!

En effet, Il ne me reste qu'à créer les procédures. Prenons le cas de celle de l'insertion, j'en ai fais une mais elle marche avec tous les champs de mon formulaire, sauf celui du bouton upload. Le code de la procédure est le suivant, mais il manque bien evidement la partie pour uploader l'image:

 

CREATE PROCEDURE {databaseOwner}[{objectQualifier}ClientModule_Insert]
@ModuleId int,
@UserID int,
@Name nvarchar(50),
@Adress nvarchar(50),
@Tel1 nvarchar(50),
@Tel2 nvarchar(50),
@Email nvarchar(50),
@Fax nvarchar(50),
@Website nvarchar(50),
@Validated int
AS
INSERT INTO {objectQualifier}ClientModule
(ModuleId, UserID, Name, Adress, Tel1, Tel2, Email, Fax, Website, Validated)
VALUES (@ModuleId,@UserID,@Name,@Adress,@Tel1,@Tel2,@Email,@Fax,@Website,@Validated)
RETURN
GO

 

En effet, j'ai appelé:

  • fileName = FileUpload1.FileName: le nom du fichier pour charger l'image
  • FileUpload1: ID du bouton  FileUpload
  • Logo nvarchar(50): le nom de la colonne qui contiendra le nom de l'image

Alors comment je dois ecrire la procédure pour qu'elle arrive à insérer aussi bien les données que les images?

NB: Si vous aurez besoin d'information qui vous seros utiles pour comprendre mon probleme, n'hésitez surtout pas à me le demander!

Merci

zied

 
Nouveau message
17/03/2009 21:58
 

Tu devrais stocker le FileID renvoyé directement par le contrôle (Dim intFileID as integer = Integer.Parse(FileUpload1.Url.Substring(7)))

Ta procédure devient donc :

CREATEPROCEDURE {databaseOwner}[{objectQualifier}ClientModule_Insert]
@ModuleId int,
@UserID int,
@Name nvarchar(50),
@Adress nvarchar(50),
@Tel1 nvarchar(50),
@Tel2 nvarchar(50),
@Email nvarchar(50),
@Fax nvarchar(50),
@Website nvarchar(50),
@Logo int,
@Validated int
AS
INSERT INTO {objectQualifier}ClientModule
(ModuleId, UserID, Name, Adress, Tel1, Tel2, Email, Fax, Website, Validated)
VALUES (@ModuleId,@UserID,@Name,@Adress,@Tel1,@Tel2,@Email,@Fax,@Website,@Logo,@Validated)
RETURN
GO

Ensuite, quand tu récupères la valeur depuis la base de données, exécute simplement un GetFileByID(intFileID, me.PortalID).

Dim objFileCtler as new FileController
dim intMonURLImage = ObjFileCtler.GetFileByID(IntFileID, me.PortalID).Url (ou quelque chose du genre)

Sébastien

 
Nouveau message
21/03/2009 18:31
 

Merci Seb pour ta coopération, mais j'ai fini par trouver une autre solution, c'est de mettre la requette d'insertion dans le fichier .ascx.vb

et de l'associer en suite au SqlProvider dans le fichier .ascx. Quand aux autre Procédures(update,select...), il suffit de configurer les ressources pour le datagrid!

C'est 1000 fois plus simple que de créer les procédures à part!

D'autre part j'ai un probleme de poster de nouveaux sujets de discussion sur les forums!!! Quand je clique sur "nouvelle discussion", j'ai ce malheureux message d'erreur:

Ajouter/Modifier un message

 
Une erreur est survenue
Erreur: Ajouter/Modifier un message inconnue.

Une erreur est survenue
Erreur: Ajouter/Modifier un message inconnue.

quelqu'un a une idée sur sa?

 

De toute façon je ne peux pas attendre à ce que les administrateurs resouent ce problème, car je dois déposer mon prochain problème:

en ce moment je travaille sur un module qui va permettre la lecture et l'affichage automatique des données depuis la base de données!!!

Le probleme c'est que l'affichage dois étre mis à jour automatiquement dans un interval de temps précis, sans recharger toute la page; un peu comme en Ajax, sauf que moi je me demande s'il existe une méthode en ASP.NET/VB.NET. Mais en effet je ne dirai pas non pour n'importe quelle solution meme en Ajax, tant qu'elle est compatible avec Visual Web Developper et par suite avec DNN.

C'est vraiment urgent!!!!!!!urgent!!!!!!urgent!!!!!!

Merci mille fois

zied

 
Nouveau message
25/03/2009 17:28
 

Me revoilà encore une fois, mais ce n'est plus pour demander mais plutôt pour répondre à ma propre demande, celle des chapms dynamiques.

En effet, il n'y a qu'une seule façon pour faire ceci, c'est en utilisant le fameux AJAX. Et oui!!!

Le frai défit qui s'oppose c'est "Comment adapter du code AJAX avec les dossiers du DNN?"

Mais j'ai commeme trouvé des articles qui peuvent aider pour se guider sur ce chemin!

http://msdn.microsoft.com/fr-fr/library/cc488546.aspx#Introduction

J'espere que sa va aider, et je demande a ceux qui arriveront à integrer du code AJAX dans le DNN de me contacter sur cette adresse

ziedbensalem@ymail.com

merci

zied

 

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNDéveloppementDéveloppementcreer un code pour Upload image!!!creer un code pour Upload image!!!