본문 바로가기

개발 Tip/ASP .Net

[ASP.Net2.0] XML 문서 만들기 & 이미지 문서 만들기

* XML 문서 만들기 & 이미지 문서 만들기

제목이 저렇게 붙이는 게 맞는지는 모르겠지만 일단은 뭐 ;;

1. Default.aspx라는 WebForm 문서를 하나 추가한다.

2. 추가한 aspx 소스 내용에는 다른 것들은 전부 지운 후 아래 내용만 남겨두고 저장한다.

   - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>

3. aspx.cs에 용도에 맞게 Page_Load() 함수에 다음과 같이 적용한다.

// 이미지 파일을 가져올 때
// 사용법 : http://localhost/Default.aspx?fileName=test.jpg
protected void Page_Load(object sender, EventArgs e)
{
    Byte[] arrBytes = null;  // 파일을 바이트로 읽기 위한 변수
    string fileName = null; // 파일명을 받을 변수 선언

    // Content Type을 반드시 image/jpeg 혹은 image/gif 등의 image 유형으로 지정
    Response.ContentType = "image/jpeg";

    arrBytes = new Byte[1000000];
    FileStream fs = null;   // 파일을 읽이위한 파일 스트림 선언

    fileName = Server.UrlDecode(Request["fileName"]);

    String imgFileName = Server.MapPath("이미지 파일이 있는 경로명" + fileName);

    fs = new FileStream(imgFileName, FileMode.Open, FileAccess.Read, FileShare.Read);

    fs.Read(arrBytes, 0, 1000000);
    fs.Flush();
    fs.Close();

    Response.Clear();
    Response.OutputStream.Write(arrBytes, 0, arrBytes.Length);
}

// XML문서 생성을 할 때
protected void Page_Load(object sender, EventArgs e)
{
    System.Text.StringBuilder sb = new System.Text.StringBuilder();

    sb.Append("<?xml version='1.0' encoding='UTF-8'?>"); // 요게 핵심. 이렇게 해줘야 XML 문서로 인식함.
    sb.Append("<Result>");
    sb.Append("</Result>");

    Response.Clear();
    Response.Write(sb.ToString());
    Response.End();
}

다른 더 좋은 방법도 있겠지만 뭐 일단 이걸로도 잘되니 일단 이걸로 진행.