none
Erreur upload de fichier sous Internet Explorer sur un intranet RRS feed

  • Discussion générale

  • Bonjour,

    Je suis en train de développer une application web ASP.NET MVC3 de type intranet. J'utilise Razor pour les vues et Entity Framework pour les modèles. L'application est déployée sur l'IIS 7.5 d'un Windows Server 2008 R2.

    J'ai créé une fonctionnalité d'ajout de fichiers, qui permet aux utilisateurs (authentifiés par leur compte Active Directory grâce à l'authentification Windows) de spécifier un fichier depuis une page web avec un <input type="file" />, crée à partir de @Html.TextBox("ActualFile", null, new { type = "file" }). Ce fichier est ensuite récupéré par le contrôleur, et il est copié dans un dossier sur le serveur avec la méthode SaveAs(path) de l'objet HttpPostedFileBase.

    Tout marche bien dans ma version de test sous Visual Studio en local (mon poste ne fait pas partie du domaine). Cela marche aussi lorsque j'accède à l'application sur le serveur à partir de mon poste. Mais les utilisateurs du domaine reçoivent une exception de type DirectoryNotFoundException lors de l'envoi du formulaire : "Impossible de trouver une partie du chemin d'accès 'chemin_vers_le_fichier_spécifié'".

    Pourtant le chemin et le fichier existent bien. Une commande "cd" le confirme. Et moi je n'ai pas d'erreur depuis ma machine, qui n'est pas sur le domaine. Le problème vient peut-être des droits administrateur (je suis en admin sur ma machine). Si l'on se connecte en administrateur sur le domaine, ça marche. Mais pour les utilisateurs standards, ça ne marche pas. Ils ont pourtant tous les droits sur le dossier (leur dossier d'utilisateur).

    Après d'autres tests, j'ai trouvé que cela ne marchait pas uniquement quand le fichier se trouvait dans leur dossier utilisateur. Si on prend le fichier de la racine du disque dur, ou même du dossier "Users", ça marche. Mais dès qu'il est dans le dossier de l'utilisateur, ça renvoie l'erreur. C'est problématique car les utilisateurs devraient pouvoir spécifier un fichier de leur bureau.

    Concernant les droits attribués à l'application, j'ai spécifié un compte personnalisé pour le pool d'application : le compte administrateur du domaine. Je doute donc qu'il s'agisse d'un problème de droits.

    Le plus étrange est le suivant : ce problème ne se présente que sous Internet Explorer. Sous Google Chrome ou Chromium, l'ajout du fichier se déroule normalement, même quand il s'agit d'un utilisateur du domaine.

    Démarrer Internet Explorer en admin ou baisser son paramètre de confidentialité ne change rien.

    Est-ce qu'il y a une autre solution que de faire passer tout les utilisateurs sous Google Chrome, ou de tous les transformer en administrateur?

    Merci d'avance pour vos réponses, et merci de consacrer du temps à ce problème.

    • Type modifié Aurel Bera vendredi 5 octobre 2012 07:12 Pas de reponse
    mercredi 29 août 2012 14:36

Toutes les réponses