2014-12-22 3 views
0

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

У меня есть веб-приложение (C#), которое находится на сервере, и пользователи используют это приложение для загрузки некоторой информации из файлов. Проблема в том, что у меня есть пользователи, которые загружают файл (используя класс HttpPostedFileBase) со своих локальных компьютеров, но код пытается сопоставить один и тот же путь на сервере, и, конечно, файл не существует на сервере, поэтому он выбрасывает ошибка, сообщающая

не может найти часть пути ...

Если пользователь пытается загрузить файл с C:\Users\User1\Documents\File.txt от их локальной машины, как я могу написать код, чтобы включить все путь к файлу, включая имя компьютера и локальный диск, что-то вроде \\ComputerName\c$\Users\User1\Documnets\File.txt.

+1

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

+0

Если вы используете веб-страницу на компьютере клиента, вы должны обратиться к протоколу FTP или HTTP-файла. С уважением, –

+0

К сожалению, я виноват, я не загружаю файл. Я пытаюсь сохранить файл на сервере. Если мой диск правильно сопоставлен, у меня нет никаких проблем, но для сохранения файла мне нужно знать место, из которого я его копирую, и место, где я копирую. В этом случае, поскольку это клиентская машина, я не вижу полный путь к файлу, чтобы успешно загрузить его. – MarinaS

ответ

7

Вы не можете. Клиент и серверы отключены друг от друга. Так работает Интернет. Вы не можете получить полный путь клиента и получить доступ к нему каким-либо образом с сервера.

Есть очень веские причины для этого, наиболее важным является безопасность/доверие.

+0

Как сохранить файл с компьютера клиента на сервер, чем без знания полного пути? – MarinaS

+0

Вы должны сохранить его где-то на сервере, в зависимости от ваших потребностей. Самый простой способ создать путь к файлу самостоятельно, а затем сохранить его с помощью ['HttpPostedFileBase.SaveAs'] (http://msdn.microsoft.com/en-us/library/system.web.httppostedfilebase.saveas (v = vs.110) .aspx). –

+1

Я пытаюсь точно то же самое: var fileLocation = Path.Combine (Path.GetTempPath(), string.Join (Guid.NewGuid(). ToString(), files.FileName)); files.SaveAs (fileLocation); Но он не может его сохранить, говоря, что часть пути не найдена – MarinaS

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