Pertanyaan Menulis file ke server web - ASP.NET


Saya hanya ingin menulis isi dari kontrol TextBox ke file di root direktori server web ... bagaimana saya menentukannya?

Ingatlah, saya sedang menguji ini secara lokal ... itu terus menulis file ke file program saya \ visual studio \ Common \ IDE direktori daripada direktori proyek saya (yang mana saya asumsikan root adalah ketika server web menyala) .

Apakah masalah saya ada hubungannya dengan menentukan lokasi yang tepat di web.config saya? Saya mencobanya dan tetap tidak pergi ...

Terimakasih banyak...

void dilindungi TestSubmit_ServerClick (pengirim objek, EventArgs e)
    {
        StreamWriter _testData = StreamWriter baru ("data.txt", true);
        _testData.WriteLine (TextBox1.Text); // Tulis file.
        _testData.Close (); // Tutup contoh StreamWriter.
        _testData.Dispose (); // Buang dari memori.
    }

39
2017-08-12 21:16


asal


Jawaban:


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 mengambil jalur virtual dan mengembalikan yang absolut. "~" digunakan untuk menyelesaikan ke akar aplikasi.


69
2017-08-12 21:18



Ada beberapa metode seperti WriteAllText dalam File kelas untuk operasi umum pada file.

Menggunakan MapPath metode untuk mendapatkan jalur fisik untuk file di aplikasi web Anda.

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

27
2017-08-12 21:43



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

16
2017-08-12 21:18



Perlu diingat Anda juga harus memberikan akses tulis akun IUSR untuk folder setelah Anda mengunggah ke server web Anda.

Secara pribadi saya merekomendasikan untuk tidak mengizinkan akses tulis ke folder root kecuali Anda memiliki alasan yang kuat untuk melakukannya. Dan kemudian Anda harus berhati-hati seperti apa file yang Anda izinkan untuk disimpan sehingga Anda tidak secara tidak sengaja mengizinkan seseorang untuk menulis halaman ASPX mereka sendiri.


8
2017-08-12 21:28