Pregunta

Tengo una aplicación web que he subido usando IIS. Quiero que los usuarios que utilizan la aplicación sería capaz de seleccionar un archivo que se encuentra en su (el usuario) computadora y leer su contenido.

El código es:

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();
            }         
        }

Cuando lo funciono de mi PC funciona. Pero cuando intento ejecutarlo desde el IIS que me da el siguiente error:

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

Yo entiendo que la aplicación no puede leer el archivo desde el PC del usuario. ¿Alguna idea de cómo puedo hacer que funcione?

Gracias!

Greg

¿Fue útil?

Solución

Esto se hace por razones de seguridad -. Un navegador no tiene acceso al sistema de archivos del usuario

No hay forma de evitar esto, como todas las demás tecnologías que se ejecutan dentro de un navegador se sandboxed y limitados (de nuevo, por razones de seguridad).

Lo más cerca que se puede obtener es utilizar un <input type="file"> que permite al usuario seleccionar un archivo para la carga.

Otros consejos

El camino de la carga de archivos en Internet Explorer 8 es una ruta completa. Puede obtener el nombre de archivo del nombre completo. Combinar ruta del servidor y nombre de archivo antes de guardar el archivo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top