Bonjour à tous,

J'ai besoin pour une application web (MVC3) d'ouvrir une fenêtre commonDialog pour sélectionner un fichier en javascript et pour IE (mais sans passer par un input type file).

Voilà mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
function afficherFileDialog(objetAppelant) {
    var obj = document.getElementById(objetAppelant);
    var dialog = new ActiveXObject("MSComDlg.CommonDialog");
    dialog.Filter = 'All files (*.*)|*.*| ';
    dialog.MaxFileSize = 260;
    dialog.ShowOpen();
    obj.value = dialog.FileName;
    return false;
}
Sur mon PC la fenêtre s'ouvre sans problème (Windows 7 x64) mais sur un Windows Server 2003 j'ai une erreur sur la ligne "var dialog = new ActiveXObject("MSComDlg.CommonDialog");" qui stipule : Un composant ActiveX ne peut créer d'objet.

J'ai essayé de modifier les paramètres de sécurité d'Internet Explorer de la zone Intranet mais rien n'y fait. J'ai réussi une fois à avoir un bandeau dans IE sous la barre d'adresse indiquant que le site voulait exécuter un activeX et après avoir validé la fenêtre s'est affichée mais depuis ça ne marche plus.

J'ai aussi essayé de copier le fichier comdlg32.ocx et .dll de mon PC sur le serveur, puis enregistré avec regsvr32.exe mais ça ne marche pas non plus.

Si quelqu'un à une idée merci