2013-07-02 2 views
1

Я в основном хочу это сделать: Позволяет пользователю вводить путь к файлу xml, расположенному на их локальной машине, в текстовое поле (например, C: \ Requestxml.xml) I затем хотите загрузить xml и сделать с ним вещи.Загрузить файл xml из пути к файлу на клиентской машине

XmlDocument inputXml = new XmlDocument(); 
inputXml.Load(txtInputXML.Text.Trim()); 

Это работает локально, но, очевидно, нет, когда я развертываю сайт на сервере, потому что он ищет этот путь на сервере. Я хотел бы знать, как мне получить его, чтобы найти файл xml, используя путь на локальном компьютере пользователя, а не на сервере?

Решение: Это невозможно. Решил, чтобы пользователь вставлял содержимое xml в текстовое поле и загружал его таким образом.

+2

Посмотрите [здесь] (http://stackoverflow.com/questions/5750639/parse-xml-file-uploaded-through-aspfileupload). – Herdo

+0

Bummer. У пользователя нет доступа к удаленным файлам на сервере – user1152145

ответ

4

Вы, вероятно, следует использовать входной файл, чтобы загрузить файл на сервер, в котором вы могли бы делать все, что вы хотите с ним ...

<form name="MyForm" 
    action="/Uploads/" 
    enctype="multipart/form-data" 
    method="post"> 
<input type="file" name="MyFile"/> 
<input type="submit" value="Upload File"> 
</form> 

Если вы используете веб-форм, существует эквивалентный контроль для этого вы можете перетащить на страницу форму панели инструментов.

1

Это невозможно! Вы должны заставить пользователя загрузить файл на сервер romote, а затем открыть его после завершения загрузки. JavaScript из браузера не имеет доступа к внутренней машине пользователя.

1) Загрузите файл на страницу, а затем запустите его!

2) Внесите событие из элемента управления файловой системой для чтения xml и выполните логику после завершения загрузки файла.

Смежные вопросы