- - - ASCX - - - -
<%@ Register TagPrefix="dnn" TagName="FileUpload" Src="~/controls/URLControl.ascx" %>
<dnn:FileUpload ID="ctlFileUpload" runat="server" Required="False" ShowTrack="False" ShowLog="False" ShowTabs="False" ShowUrls="False"></dnn:FileUpload>
- - - CodeBehind VB.net - - - -
Imports DotNetNuke.UI.UserControls ' L'espace de noms.
Protected WithEvents ctlFileUpload As UrlControl ' La déclaration du contrôle (pas nécessaire si tu travailles avec un designer.vb.)
' Fonction qui renvoie l'objet fichier à partir du contrôle URL.
Private Function GetFile() As DotNetNuke.Services.FileSystem.FileInfo
Dim objFileController As New DotNetNuke.Services.FileSystem.FileController
' On prend le résultat de l'attribut URL du contrôle, on retire le FileId= pour extraire l'ID Integer, et on utiise GetFilebyId pour récupérer l'ensemble des infos du fichier sélectionné par le contrôle URL (contrôle qui te donne la possibilité de charger de nouveaux fichiers dans les répertoires autorisés depuis Site > Fichiers ou Hôte > Fichiers (en bas après avoir sélectionné un dossier)).
Return objFileController.GetFileById(CType(Me.ctlFileUpload.Url.Replace("FileId=", ""), Integer), Me.PortalId)
End Function
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
Me.ctlFileUpload.FileFilter = "doc,docx,pdf,pdfx" ' Restreint le type de fichiers. On peut aussi définir beaucoup d'autres paramètres, mais je te laisse utiliser l'IDE VS2005 pour les trouver.
Catch exc As Exception
ProcessModuleLoadException(Me, exc)
End Try
End Sub
Voilà en gros le WeControl URLControl et comment l'utiliser. Il peut y avoir des erreurs dans mon code car je fais ça pus ou moins de mémoire.
bon courage
seb