Получение пути к файлу с помощью контроля загрузки файла - PullRequest
3 голосов
/ 22 ноября 2010

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

<asp:FileUpload ID="txtBoxInput" runat="server" Text="Browse" />

string FilePath = txtBoxInput.PostedFile.FileName;

он получит только имя файла, например bala.txt .i нужно вот так D:\New Folder\bala.txt

Вместо управления загрузкой файлов я использовал текстовое поле, чтобы получить путь, подобный этому D:\New Folder\bala.txt

<asp:TextBox ID="txtBoxInput" runat="server" Width="451px"></asp:TextBox>

string FilePath = txtBoxInput.Text;

Но мне нужна кнопка обзора вместо текстового поля, чтобы получить путь ... Любое предложение ??

РЕДАКТИРОВАТЬ: событие нажатия моей кнопки

protected void buttonDisplay_Click(object sender, EventArgs e)
{
    string FilePath = txtBoxInput.PostedFile.FileName;
    if (File.Exists(FilePath))
    {
        StreamReader testTxt = new StreamReader(FilePath);
        string allRead = testTxt.ReadToEnd();
        testTxt.Close();
    }
}

Ответы [ 2 ]

7 голосов
/ 22 ноября 2010

Имя файла и путь к нему из элемента управления FileUpload можно получить только в режиме отладки, но при развертывании приложения.на сервере вы не можете, потому что это ваш клиентский адрес, к которому вы пытаетесь обратиться с помощью кода на стороне сервера.

protected void Button1_Click(object sender, EventArgs e)
{
    string filePath,fileName;
    if (FileUpload1.PostedFile != null)
    {
        filePath = FileUpload1.PostedFile.FileName; // file name with path.
        fileName = FileUpload1.FileName;// Only file name.
    }
}

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

2 голосов
/ 22 ноября 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...