티스토리 뷰

여러모로 ajax에서 euc-kr 은 걸림돌이다..


dextupload를 이용해서 ajax파일 멀티 업로드를 구현할 일이 생겨서 기록을 남겨봄.


html 및 js는 아래 링크에 있음.


http://rootjs.tistory.com/45


특별한건 없고.. 파일명이 한글일경우 퍽퍽 깨져나가는걸 잡기위해서? hidden에 파일명을 넣어서 처리~



<%
Response.CodePage = "949"
Response.CharSet = "euc-kr"
disConnectDB(Conn)

Set UploadForm = Server.CreateObject("DEXT.FileUpload")
uploadForm.CodePage = "949"
UploadForm.autoMakeFolder = True
UploadForm.DefaultPath = server.mappath("업로드 파일 경로")
'10MB이하로 제한.
uploadform.MaxFileLen = 209715200

dim saveFileName,fileName
dim fileCnt : fileCnt = uploadForm("appfile[]").Count 'input file 이름으로 갯수파악


'input file 안의 내용은 변환이 안되서 별도의 파일이름을 hidden에 넣어서 가져온 후 디코딩 처리

saveFileName = URLDecodeUTF8(uploadForm("appfileName"))
dim splFileName : splFileName = split(saveFileName,",")

'업로드하는 파일들 json형식으로 넘겨줌.
Response.write "{"
for i = 1 to fileCnt
  fileName = uploadFileNoName(uploadForm("appfile[]")(i),splFileName(i-1))
  Response.write " ""fileName"" : """&fileName&""" "
next
Response.write "}"
set uploadForm = nothing

'업로드 함수 내부 유효성 검사는 다 다를테니 중복체크 제외하고 나머지부분은 지움.
function UploadFileNoNAme(file,saveFileName)
  file_name = file.FileName  
  uploadFileName = saveFileName
  file_path = uploadform.DefaultPath & "\" & uploadFileName

  If uploadform.FileExists(file_path) Then
    j = 0
    Do While (1)
      file_path = uploadform.DefaultPath & "\[" & j & "]"&uploadFileName
      saveFilename = "[" & j & "]"&uploadFileName
      If Not uploadform.FileExists(file_path) Then Exit Do
      j = j + 1
    Loop
  End If
  file.SaveAs file_path
  UploadFileNoName = saveFilename
End Function



Public Function URLDecodeUTF8(byVal strUrl)
  Dim strBase,ub
  Dim UtfB
  Dim UtfB1, UtfB2, UtfB3
  Dim moveSeq, strText
  ub = 0
  For moveSeq = 1 To Len(strUrl)
    strBase = Mid(strUrl, moveSeq, 1)
    Select Case strBase
      Case "+"
        strText = strText & " "
      Case "%"
        ub = Mid(strUrl, moveSeq + 1, 2)
        UtfB = CInt("&H" & ub)
        If UtfB<128 Then
          moveSeq = moveSeq + 2
          strText = strText & ChrW(UtfB)
        Else
          UtfB1=(UtfB And &H0F) * &H1000
          UtfB2=(CInt("&H" & Mid(strUrl, moveSeq + 4, 2)) And &H3F) * &H40
          UtfB3=CInt("&H" & Mid(strUrl, moveSeq + 7, 2)) And &H3F
          strText = strText & ChrW(UtfB1 Or UtfB2 Or UtfB3)
          moveSeq = moveSeq + 8
        End If
      Case Else
      strText = strText & strBase
    End Select
  Next
  URLDecodeUTF8 = strText
End Function
%>


'serverSide > ASP' 카테고리의 다른 글

[ASP] 1차 도메인 추출  (0) 2019.04.22
카카오톡 API 로그인 로그인창 띄우기  (0) 2019.04.04
[ASP]오류 'ASP 0115'  (0) 2018.07.04
[ASP]JSON 생성 시 따옴표 처리  (0) 2018.06.29
[ASP] ADODB.Connection 오류 '800a0e7a'  (0) 2015.09.14
댓글