Вопрос

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

Имейте в виду, я тестирую это локально...он продолжает записывать файл в каталог моих программных файлов\visual studio\Common\IDE, а не в каталог моего проекта (я предполагаю, что там находится root, когда веб-сервер отключается).

Связана ли моя проблема с указанием правильного местоположения в моем web.config?Я попробовал это, но все равно не получается...

Большое спасибо...

protected void TestSubmit_ServerClick(object sender, EventArgs e)
    {
        StreamWriter _testData = new StreamWriter("data.txt", true);
        _testData.WriteLine(TextBox1.Text); // Write the file.
        _testData.Close(); // Close the instance of StreamWriter.
        _testData.Dispose(); // Dispose from memory.       
    }
Это было полезно?

Решение

protected void TestSubmit_ServerClick(object sender, EventArgs e)
{
  using (StreamWriter _testData = new StreamWriter(Server.MapPath("~/data.txt"), true))
 {
  _testData.WriteLine(TextBox1.Text); // Write the file.
 }         
}

Server.MapPath принимает виртуальный путь и возвращает абсолютный.«~» используется для разрешения корня приложения.

Другие советы

Есть такие методы, как WriteAllText в File класс для общих операций с файлами.

Использовать MapPath метод для получения физического пути к файлу в вашем веб-приложении.

File.WriteAllText(Server.MapPath("~/data.txt"), TextBox1.Text);
protected void TestSubmit_ServerClick(object sender, EventArgs e)
{
    using (StreamWriter w = new StreamWriter(Server.MapPath("~/data.txt"), true))
    {
        w.WriteLine(TextBox1.Text); // Write the text
    }
}

Имейте в виду, что вам также придется предоставить учетной записи IUSR доступ на запись для папки после загрузки на веб-сервер.

Лично я рекомендую не разрешать доступ на запись к корневой папке, если у вас нет для этого веской причины.И затем вам нужно быть осторожным с тем, какие файлы вы разрешаете сохранять, чтобы случайно не позволить кому-либо писать свои собственные страницы ASPX.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top