Подтвердить что ты не робот

Запись файла на веб-сервер - ASP.NET

Я просто хочу записать содержимое элемента управления 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.       
    }
4b9b3361

Ответ 1

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 принимает виртуальный путь и возвращает абсолютный. "~" используется для разрешения root приложения.

Ответ 2

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

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

File.WriteAllText(Server.MapPath("~/data.txt"), TextBox1.Text);

Ответ 3

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
    }
}

Ответ 4

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

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