Question

J'ai une application web que je téléchargé en utilisant IIS. Je veux que les utilisateurs à l'aide de l'application seraient en mesure de sélectionner un fichier situé sur leur (l'utilisateur) ordinateur et lire son contenu.

Le code est:

TextReader trs = new StreamReader(faFile.Value);
            DataAccessLayer.clearFA();
            string line = trs.ReadLine();
            // Read all unneeded data 
            while (line != "** Start Data **")
            {
                line = trs.ReadLine();
            }
            line = trs.ReadLine();
            while (line != null)
            {
                string[] words = line.Split('*');
                // There is no message
                if (words[4] == "")
                {
                    DataAccessLayer.insertIntoFA(Int32.Parse(words[1]), words[3].Replace("'", ""));
                }
                else
                {
                    DataAccessLayer.insertIntoFA(Int32.Parse(words[1]), words[4].Replace("'", ""));
                }
                line = trs.ReadLine();
            }         
        }

Quand je le lance de mon pc ça marche. Mais lorsque je tente de l'exécuter à partir du IIS il me donne l'erreur suivante:

Could not find a part of the path 'C:\Documents and Settings\myUser\Desktop\file.txt'. 

Je comprends que le dévers d'application lire le fichier à partir du PC de l'utilisateur. Toute idée comment puis-je le faire fonctionner?

Merci!

Greg

Était-ce utile?

La solution

Ceci est fait pour des raisons de sécurité -. Un navigateur n'a pas accès au système de fichiers de l'utilisateur

Il n'y a pas moyen de contourner cela, comme toutes les autres technologies en cours d'exécution dans un navigateur sont sandbox et limitées (encore une fois, pour des raisons de sécurité).

Le plus proche que vous pouvez obtenir est d'utiliser un <input type="file"> qui permet à l'utilisateur de sélectionner un fichier à télécharger.

Autres conseils

Le chemin du fichier de téléchargement dans IE 8 est un chemin complet. Vous pouvez obtenir le nom de fichier du nom complet. Combiner le chemin du serveur et nom du fichier avant l'enregistrement de fichiers

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top