.Net Project/ASP.NET 3.5 Sp1
73-9장 닷넷노트_이미지 다운 (DotNetNote_ImageDown)
Magic_kit
2009. 11. 2. 14:36
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.IO;
/// <summary>
/// ImageDown : 완성형(DotNetNote) 게시판의 이미지전용다운 페이지
/// 이미지 경로를 보여주지 않고 다운로드한다.
/// </summary>
public partial class DotNetNote_ImageDown : System.Web.UI.Page
{
#region Event Handlers
protected void Page_Load(object sender, System.EventArgs e)
{
string strFileName = Request.Params["FileName"].ToString();
string strFileExt = Path.GetExtension(strFileName);
string strContentType = "";
if (strFileExt == ".gif" || strFileExt == ".jpg"
|| strFileExt == ".jpeg" || strFileExt == ".png")
{
switch (strFileExt)
{
case ".gif":
strContentType = "image/gif"; break;
case ".jpg":
strContentType = "image/jpeg"; break;
case ".jpeg":
strContentType = "image/jpeg"; break;
case ".png":
strContentType = "image/png"; break;
}
}
else
{
Response.Write(
"<script language='javascript'>"
+ "alert('이미지 파일이 아닙니다.')</script>");
Response.End();
}
string strFilePath =
Server.MapPath("./MyFiles/") + strFileName;
Response.Clear();
Response.ContentType = strContentType;
Response.WriteFile(strFilePath);
Response.End();
}
#endregion
} |
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.IO;
/// <summary>
/// ThumbNail : 축소판 이미지 생성기
/// </summary>
public partial class DotNetNote_ThumbNail : System.Web.UI.Page
{
#region Event Handlers
protected void Page_Load(object sender, System.EventArgs e)
{
//변수 초기화
int boxWidth = 100;
int boxHeight = 100;
double scale = 0;
//파일 이름을 설정
string strFileName = String.Empty;
string strSelectedFile = String.Empty;
if (Request["FileName"] != null)
{
strSelectedFile = Request.QueryString["FileName"];
}
else
{
strSelectedFile = "./mybook.jpg";//기본 이미지로 초기화
}
strFileName =
Server.MapPath("./MyFiles/" + strSelectedFile);
int tmpW = Convert.ToInt32(Request.QueryString["Width"]);
int tmpH = Convert.ToInt32(Request.QueryString["Height"]);
if (tmpW > 0 && tmpH > 0)
{
boxWidth = tmpW;
boxHeight = tmpH;
}
//새 이미지 생성
Bitmap b = new Bitmap(strFileName);
//크기 비율을 계산한다.
if (b.Height < b.Width)
{
scale = ((double)boxHeight) / b.Width;
}
else
{
scale = ((double)boxWidth) / b.Height;
}
//새 너비와 높이를 설정한다.
int newWidth = (int)(scale * b.Width);
int newHeight = (int)(scale * b.Height);
//출력 비트맵을 생성, 출력한다.
Bitmap bOut = new Bitmap(b, newWidth, newHeight);
bOut.Save(Response.OutputStream, b.RawFormat);
//마무리
b.Dispose();
bOut.Dispose();
}
#endregion
} |