ASP에서 엔터값 처리

ASP 2009. 10. 14. 13:33

회사 연동업무 중에 외부 데이터를 읽어올 일이 있었다.

XML이나 JSON형식이 아니라 그냥 파라미터를 가지고 접근하면 Y혹은 N만 뿌려주는 단순한 페이지..
그래서 해당 텍스트만 읽어오고자 했는데..

자꾸 이상한 값이 들어가는것이다. ㅡㅡ;

결국 검색!!!

그러다 Chr함수를 이용해 처리하라는 글을 발견했다.

\n은 ASP에서 Chr(10)
\r는 ASP에서 Chr(13)

어디서 많이 봤다 했더니..

디비에서 불러온 값을 ASP에서 엔터효과를 주기위해  <br>태그로 변환해서 사용하고는 했었던거 같다.
strText = Replace(strText, chr(13), "<br>")

그렇다면 제거는 간단하게!!
strText = Replace(strText, chr(13), "")


이러고 나니 vbCr / vbLf / vbCrLf 이녀석들의 정체가 궁금했다.
비주얼베이직에서 엔터(줄바꿈) 역할을 해주는 녀석이라는거 까지는 알았는데 말이지..

인터넷을 뒤져보니 이런걸 발견!! ([출처] [ASP] VbCrLf, VbCr, VbLf, VbNewLine ... 기타 상수..|작성자 견우)
상수 등가 설명
VbCrLf Chr(13) + Chr(10) 캐리지 리턴 – 라인 피드 조합
VbCr Chr(13) 캐리지 리턴 문자
VbLf Chr(10) 라인 피드 문자

VbTab Chr(9) Tab 문자
VbBack Chr(8) 백스페이스 문자


ASC는 Visual Basic에서 제공하는 함수로서 ()안의 문자를 ASCII(아스키)코드 숫자로 변환시키는 함수입니다.
라는데..asp에서는 안먹히는 거 같네..ㅡㅡ 아무튼!! chr(13) / chr(10) 기억해두쟈!

Posted by 귀찮은 여니씨
,
dB에는 올라와있는데 실제 디렉토리에 파일이 존재하지 않으면 오류가 뜨겠지요.
디렉토리에 파일 존재여부를 체크하고 삭제하도록

Server.ScriptTimeout = 1000
Set FSO = CreateObject("Scripting.FileSystemObject")
SQL = "select * from 테이블 where seq='"&request("seq")&"'"
rs.Open SQL,DbCon,1

'이미지 파일 삭제구문
if rs("picture1") <> "" then
emlFileDirectory = server.MapPath("../main/ency_img")&"\"&rs("picture1")

If (fso.FileExists(emlFileDirectory)) Then
fso.DeleteFile(emlFileDirectory)
End If
end if



-출처 : 네이버 카페 스페이스 최고의 프로그래머 대니(danny032)님이 게시한 게시물
http://cafe.naver.com/gosok.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=106
Posted by 귀찮은 여니씨
,
 

ADODB.Stream을 이용한 파일다운로드 소스

 

DownLoadList.asp

<%

   strFileName="다운로드될파일명"

%>

<script-x language="javascript-x">
function down(flag)
{
  if(flag != ""){
  var goUrl = "./download.asp?strFileName=" + flag;
  location.href=goUrl;
  }else{
    alert("다운로드파일이 존재하지 않습니다.확인하여 주십시오");
  }
}

<html>

<head>

<title>다운로드</title>

<style>

BODY, TABLE, TR, TD, P{font-size:9pt;font-family:굴림;}

</style>

</head>

<body>

<p>

<a href="javascript-x('<%=strFileName%>');"><%=strFileName%></a>

</p>


==================================================================================

Download.asp


<%
   Response.Buffer = False
   Response.Expires = 0
 
   Dim strFileName     '// 파일이름
   Dim FileSeq           '// 파일번호
   Dim strFilePath       '// 파일의경로
  

  strFileName = Request("strfilename")       '### 파일명을 요청한다.


  '// 이곳에서 파일에 대한 다운로드권한을 적용할수있다.

  '// 이곳에서 파일의 다운로드 횟수를 증가시킬수있다.

  '// 이곳에서 파일존재여부를 체크할수있다.(이전페이지[DownLoadList.asp])에서

  '// 체크해도 된다.


   
   strFilePath = Server.mapPath(".")      '###현재 파일의 파일 경로 디렉토리 설정


  '//문서정의타입을 알수없음으로 하게되면 무조건 다운로드시킨다.

  '//다운로드시킬 파일을 정의한다.

   Response.ContentType = "application/unknown"
   Response.AddHeader "Content-Disposition","attachment; filename=" & strFileName


   '### ADODB.Stream으로 스트림을 읽는다. ###
   Set objStream = Server.CreateObject("ADODB.Stream")
   objStream.Open

   objStream.Type = 1
   objStream.LoadFromFile strFilePath & "\" & strFileName
   strFile = objStream.Read
   Response.BinaryWrite strFile

   Set objStream = Nothing


  ' 자세한 Stream의 상수 및 메소드는 개인이 각자 습득한다.

  ' 그것이 서로를 위한 것이다..^^;

  %>



- 출처 : http://flashcafe.org/bbs/board.php?bo_table=asp_study&wr_id=204&sca=&sfl=wr_subject&stx=%C6%C4%C0%CF%B4%D9%BF%EE%B7%CE%B5%E5&sop=and  -
이거도 참고
http://flashcafe.org/bbs/board.php?bo_table=asp_study&wr_id=250

개인적으로 이 사이트 괜찮네 ㅎㅎ
http://flashcafe.org/bbs/board.php?bo_table=asp_study

Posted by 귀찮은 여니씨
,