 |
|
 |
|
 |
|
 |
|
DEXTUploadX와 DEXTUpload Pro 연동 시 DEXTUpload Pro의 기능 활용하기
두 제품을 연동하여 POST 방식으로 업로드 시 DEXTUploadX는 아래 폼네임으로 파일 및 부가정보를 서버로 전달합니다.
파일을 한 개 이상 업로드 할 경우는 동일한 폼네임으로 배열처럼 접근하실 수 있습니다.
[DEXTUploadX 폼네임]
DEXTUploadX - 파일 데이터
DEXTUploadX_FolderPath - 각 파일에 대한 디렉터리 패스
DEXTUploadX_Alias - 각 파일에 대한 별칭
DEXTUploadX_UserDataA - 각 파일에 대한 사용자 정의 데이터
DEXTUploadX_UserDataB - 각 파일에 대한 사용자 정의 데이터
DEXTUploadX_Uploaded - 가상 파일 데이터(서버에 이미 업로드 되어 있는 파일을 표시할 때)
DEXTUploadX_Deleted_Uploaded - 가상 파일 데이터(서버에 이미 업로드 되어 있는 파일을 삭제했을 때)
아래 코드는 POST방식 업로드(DEXTUploadX와 DEXTUpload Pro 연동) 시 DEXTUploadX에서 업로드 되는 여러 개의 파일을 DEXTUpload Pro에서 저장하는 부분과 DEXTUpload Pro만 사용하는 샘플 중 여러 개의 파일을 저장하는 부분의 코드입니다.
1-1. FileUploadManager 페이지
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ks_c_5601-1987">
<TITLE>가장 간단한 POST 방식의 예제.</TITLE>
<SCRIPT FOR="FileUploadManager" Event="OnError(nCode, sMsg, sDetailMsg)" LANGUAGE="javascript">
OnFileManagerError(nCode, sMsg, sDetailMsg);
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
// sMsg는 간략하게 요약된 에러 메시지입니다.
// sDetailMsg는 보다 자세한 정보가 포함 된 에러 메시지입니다.
// sDetailMsg는 에러 메시지에 따라 공백인 경우도 있습니다.
// 반드시 위와 같이 선언을 해줘야 합니다.
// 이 에러 처리 방식은 DEXTUploadX의 모든 컨트롤이 동일합니다.
function OnFileManagerError(nCode, sMsg, sDetailMsg)
{
alert(nCode);
alert(sMsg);
alert(sDetailMsg);
}
</SCRIPT>
<SCRIPT LANGUAGE="VBS" for="FileUploadManager" event="OnTransfer_Click()">
'파일 업로드 매니저의 전송하기 버튼을 누르면 위의 'OnTransfer_Click' 이벤트가 발생합니다.
' 여기에서 아래와 같이 파일 업로드 모니터 화면을 열면 됩니다.
winstyle="height=335,width=445, status=no,toolbar=no,menubar=no,location=no"
window.open "./FileUploadMonitor.htm",null,winstyle
</SCRIPT>
</HEAD>
<BODY>
<OBJECT id="FileUploadManager" codeBase="http://Localhost/DEXTUploadX/DEXTUploadX.cab #version=2,8,2,0"
height="200" width="450" classid="CLSID:DF75BAFF-7DD5-4B83-AF5E-692067C90316" VIEWASTEXT>
</OBJECT>
<P>가장 간단한 POST 방식의 업로드입니다.<BR>
위에 보이는 컨트롤을 "파일 업로드 매니저(FileUploadManager)"라고 합니다.<BR>
드래그&드랍을 지원합니다. 파일이나 폴더를 끌어서 놓아보세요<BR>
</P>
</BODY>
</HTML> |
1-2. FileUploadMonitor 페이지
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ks_c_5601-1987">
<TITLE>DEXTUploadX 업로드</TITLE>
<SCRIPT FOR="FileUploadMonitor" Event="OnError(nCode, sMsg, sDetailMsg)" LANGUAGE="javascript">
OnFileMonitorError(nCode, sMsg, sDetailMsg);
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function OnFileMonitorError(nCode, sMsg, sDetailMsg)
{
alert(nCode);
alert(sMsg);
alert(sDetailMsg);
}
</SCRIPT>
<SCRIPT LANGUAGE="VBS">
sub OnLoading()
' Post 방식일 경우 아래와 같이 UploadURL 속성에 Post Script 파일을 명시해야 합니다.
' 표준 포트 외의 다른 포트를 사용하시려면
' http://Localhost:8080/DEXTUploadX/Upload/PostScript.asp
' 과 같이 일반적인 주소 지정 방법과 동일하게 사용하시면 됩니다.
document.all("FileUploadMonitor").UploadURL = "http://Localhost/DEXTUploadXSamples/Upload/PostScript.asp"
' 이 페이지의 부모 페이지에 있는 파일 매니저 컨트롤의 모든 파일 및 폼 아이템을 파일 모니터 컨트롤에 복사합니다.
document.all("FileUploadMonitor").Items = opener.document.all("FileUploadManager").Items
' 파일 매니저의 몇 가지 속성들(DefaultPath, Filter 등등)의 값을 파일 모니터에 복사합니다.
document.all("FileUploadMonitor").Properties = opener.document.all("FileUploadManager").Properties
end sub
</SCRIPT>
</HEAD>
<BODY onload="OnLoading()" bottomMargin=0 leftMargin=0 topMargin=0 rightMargin=0>
<OBJECT id=FileUploadMonitor height=335 width=445 classid=CLSID:96A93E40-E5F8-497A-B029-8D8156DE09C5
CodeBase="http://Localhost/DEXTUploadX/DEXTUploadX.cab #version=2,8,2,0" VIEWASTEXT>
</OBJECT>
</BODY>
</HTML> |
1-3. PostScript.asp (DEXTUploadX, DEXTUpload Pro 연동 시)
<%@ Language=VBScript %>
<%
set uploadform=server.CreateObject("DEXT.FileUpload")
uploadform.AutoMakeFolder = TRUE
uploadform.DefaultPath="C:\TEMP"
'컬렉션 스타일로 여러 개의 파일을 처리합니다.
For i = 1 To uploadform("DEXTUploadX").Count
uploadform("DEXTUploadX")(i).Save
Next
'DEXTUploadX가 사용되고 있는 페이지의 폼 데이터가 자동으로 전송됩니다.
'response.Write "사용자 폼데이터(단일) : " & uploadform("form") & vbCrLf
'동일한 폼 네임을 가진 폼 데이터가 여러 개일 경우 아래와 같이 처리합니다.
'asp에서 사용하는 일반적으로 폼 데이터 처리 방식으로도 가능합니다.
'For i = 1 To uploadform("form_multi").Count
' response.Write “사용자 폼데이터(다중) : “& uploadform("form_multi")(i) & vbCrLf
'Next
set uploadform = Nothing
%> |
2-1. 파일 업로드 페이지(DEXTUpload Pro의 MultiUpload 샘플 : MultiUpload.asp)
<HTML>
<HEAD>
</HEAD>
<BODY>
<form name="write_form" enctype="multipart/form-data" method="post" action="MultiUpload_Process.asp">
Multiple Upload<br><br>
Select the file to upload<br>
<input type="file" name="files"><br>
<input type="file" name="files"><br>
<input type="file" name="files"><br><br>
1. 업로드 파일 저장경로는 C:\TEMP 입니다.<br>
2.'찾아보기' 버튼을 지원하지 않는 브라우저인 경우 최신 버전의 브라우저로 업데이트 하시기 바랍니다.<br><br>
<input type="submit" name="Upload" value="Upload">
</form>
</BODY>
</HTML> |
2-2. DEXTUpload Pro에서 파일을 저장하는 페이지 (DEXTUpload Pro의 MultiUpload 샘플 : MultiUpload_Process.asp)
<%@ Language=VBScript %>
<%
set uploadform=server.CreateObject("DEXT.FileUpload")
uploadform.AutoMakeFolder = TRUE
uploadform.DefaultPath="C:\TEMP"
For i = 1 To uploadform("files").Count
uploadform("files")(i).Save
Next
set uploadform =nothing
%> |
POST방식 업로드 시 기본적인 파일 저장 이외에 DEXTUpload Pro의 기능인 ‘썸네일 생성’과 같은 기능도 간단하게 구현이 가능합니다.
아래 코드는 POST방식 업로드 시 DEXTUploadX에서 업로드 되는 여러 개의 이미지 파일을 DEXTUpload Pro에서 저장하는 부분과 DEXTUpload Pro의 샘플 중 썸네일을 저장하는 부분의 코드입니다.
3-1. DEXTUploadX + DEXTUpload Pro 썸네일 저장(비교를 위해 제작된 코드샘플입니다.)
<%@ Language=VBScript %>
<%
set uploadform=server.CreateObject("DEXT.FileUpload")
uploadform.AutoMakeFolder = TRUE
uploadform.DefaultPath="C:\TEMP\"
set objImage =server.CreateObject("DEXT.ImageProc")
For i = 1 To uploadform("DEXTUploadX ").count
if true = objImage.SetSourceFile(uploadform("DEXTUploadX ")(i).TempFilePath) then
'JPG 포맷으로 저장해야 함
filename = uploadform("DEXTUploadX ")(i).FileNameWithoutExt & ".jpg"
objImage.Quality = 90 'default value is 75 (range 1~100)
objImage.SaveasThumbnail "C:\Temp\" & filename,objImage.ImageWidth/10,objImage.ImageHeight/10,false
end if
Next
set objImage = nothing
set uploadform = Nothing
%> |
3-2. DEXTUpload Pro (Thumbnail 샘플)
<%@ Language=VBScript %>
<%
set uploadform=server.CreateObject("DEXT.FileUpload")
uploadform.DefaultPath="C:\Temp\"
set objImage =server.CreateObject("DEXT.ImageProc")
if true = objImage.SetSourceFile(uploadform.TempFilePath) then
'JPG 포맷으로 저장해야 함
filename = uploadform.FileNameWithoutExt & ".jpg"
objImage.Quality = 90 'default value is 75 (range 1~100)
%>
<HTML>
<BODY>
Save as Image Thumbnail: <%=objImage.SaveasThumbnail("C:\Temp\" & filename,objImage.ImageWidth/10,objImage.ImageHeight/10,false)%>
</BODY>
</HTML>
<%
end if
set objImage = nothing
set uploadform =nothing
%> |
4. 기타 참고 사항
※ DEXTUploadX, DEXTUpload Pro 평가판 다운로드는 아래의 경로에서 가능합니다.
http://www.dextsolution.com/Etc/downEval.aspx
※ DEXTUploadX의 매뉴얼과 기본샘플은 기본설치 했을 경우,
“ 시작->모든 프로그램->DEVPIA->DEXTUploadX->DEXTUploadX 사용자 매뉴얼 ”
“ 시작->모든 프로그램->DEVPIA->DEXTUploadX-> DEXTUploadX 예제 ”
에서 확인 하실 수 있습니다.
※ DEXTUpload Pro의 매뉴얼과 기본샘플은 기본설치 했을 경우,
“시작->모든 프로그램->DEVPIA->DEXTUpload Professional->DEXTUpload Professional 사용자 도움말 ”
“시작->모든 프로그램->DEVPIA->DEXTUpload Professional->DEXTUpload Professional 사용자 예제 ”
에서 확인 하실 수 있습니다.
DEXT 제품군과 관련된 더 자세한 정보를 원하실 경우 http://www.dextsolution.com의 ‘PRODUCTS’메뉴에서 각 제품별 상세정보 및 코드샘플 및 라이브데모 등을 확인하실 수 있습니다.
Copyright ⓒ DEVPIA Corporation. All rights reserved
|
|
 |
|
 |
|
|
 |
|
 |
|