programing

웹 서버에 파일 쓰기 - ASP.NET

skycolor 2023. 9. 4. 19:40
반응형

웹 서버에 파일 쓰기 - ASP.NET

TextBox 컨트롤의 내용을 웹 서버 디렉터리의 루트에 있는 파일에 쓰고 싶습니다.어떻게 지정해야 합니까?

명심해요, 이 지역에서 테스트를 하고 있어요계속해서 내 프로그램 파일에 파일을 씁니다\visual studio\공통\내 프로젝트 디렉터리가 아닌 IDE 디렉터리(웹 서버가 시작될 때 루트가 있다고 가정함).

내 문제가 내 웹.config에서 올바른 위치를 지정하는 것과 관련이 있습니까?시도해봤는데도 안가요...

감사합니다...

protected void TestSubmit_ServerClick(개체 보낸 사람, EventArgue){StreamWriter _testData = newStreamWriter("data.txt", true);_testData.줄 쓰기(텍스트 상자 1).Text); // 파일을 작성합니다.
_testData.닫기(); // StreamWriter의 인스턴스를 닫습니다.
_testData.폐기(); // 메모리에서 폐기합니다.}
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 페이지를 작성할 수 없도록 해야 합니다.

언급URL : https://stackoverflow.com/questions/1268766/writing-file-to-web-server-asp-net

반응형