반응형
//db에 저장된 데이터를 읽어 온다.
OleDbDataReader rd = Connection.dataRead(query.support_Read(code, tables));
rd.Read();
byte[] fileData;
//db에 저장된 파일을 byte[]형식으로 fileData에 저장
fileData = (byte[])rd["filedata"];
//로컬에 반환할 파일의 이름
string fileName = rd["filename"].ToString().Trim();
rd.Close();
Connection.dbConn().Close();
//euc-kr로 지정(한글로 저장한 파일명이 깨지는 것을 방지)
Response.Charset = "euc-kr";
//Server.UrlEncode(euc-kr로 지정된 파일명을 인코딩)
Response.AppendHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(fileName));
Response.AddHeader("content-Length", fileData.Length.ToString());
Response.BinaryWrite(fileData);