1. 이미지, 동영상, 파일 업로드
Warning | ||
---|---|---|
| ||
가이드로 제공되는 아래 코드 중 파일 업로드 부분은 샘플 코드로서 보안 관련 처리가 미흡합니다. 파일 업로드 부분은 프로젝트 내부에서 사용하시는 부분을 그대로 사용하시고 아래 코드를 참고하셔서 연동 부분을 처리해주세요. |
Info |
---|
파일 업로드에는 TABS Upload5를 사용하였습니다. |
...
실제 ASP 연동부분 작업시에는 운영환경에서 사용하시던 업로드 컴포넌트를 그냥 |
...
사용하시면 됩니다. |
1. 이미지, 동영상, 파일 업로드
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<%@ CodePage=65001 Language=VBScript %>
<% Option Explicit %>
<%
On Error Resume Next
Dim UPLOAD_PATH
UPLOAD_PATH = "C:\inetpub\wwwroot\upload"
Dim Upload, fileName
'업로드를 처리할 오브젝트를 생성합니다.
Set Upload = Server.CreateObject("TABSUpload4.Upload")
Upload.CodePage = 65001
'업로드를 시작합니다.
Upload.Start "C:\TEMP"
Upload.Save UPLOAD_PATH, False
'저장된 파일 경로 (경로는 제외)
fileName = Upload.Form("file").ShortSaveName
'결과를 json 형태로 반환
Response.ContentType = "application/json"
Response.write("{""uploadPath"":""/upload/" & fileName & """}")
%> |
2. HWP,
...
Word,
...
Excel 문서 임포트
Warning | ||
---|---|---|
| ||
가이드로 제공되는 아래 코드 중 파일 업로드 부분은 샘플 코드로서 보안 관련 처리가 미흡합니다. 파일 업로드 부분은 프로젝트 내부에서 사용하시는 부분을 그대로 사용하시고 아래 코드를 참고하셔서 연동 부분을 처리해주세요. |
Info |
---|
파일 업로드에는 TABS Upload5를 사용하였습니다. 실제 ASP 연동부분 작업시에는 운영환경에서 사용하시던 업로드 컴포넌트를 그냥 사용하시면 됩니다. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<%@ CodePage=65001 Language=VBScript %>
<% Option Explicit %>
<%
On Error Resume Next
Dim CONVERTER, FONTS, WORK, UPLOAD_PATH
CONVERTER = "C:\workspace\seimporter\sedocConverter\sedocConverter.exe"
FONTS = "C:\workspace\seimporter\fonts"
WORK = "C:\workspace\seimporter\tmp"
UPLOAD_PATH = "C:\inetpub\wwwroot\upload"
Dim filePath, outputPath, uuid, relativeOutputPath
Dim Upload
'업로드를 처리할 오브젝트를 생성합니다.
Set Upload = Server.CreateObject("TABSUpload4.Upload")
Upload.CodePage = 65001
'업로드를 시작합니다.
Upload.Start "C:\TEMP"
Upload.Save UPLOAD_PATH, False
'저장된 파일 경로
filePath = Upload.Form("file").SaveName
'UUID 생성 (unique path)
uuid = CreateGUID()
outputPath = "C:\inetpub\wwwroot\output\" & uuid
relativeOutputPath = "/output/" & uuid
'문서변환
Dim wshShell, strCmd, result
'Set wshShell = CreateObject( "WScript.Shell" )
strCmd = CONVERTER & " -pz -f " & FONTS & " """ & filePath & """ " & outputPath & " " & WORK
'result = wshShell.Run(strCmd, 0, true)
result = Exec(strCmd, 1)
If Not result = 0 Then
Response.write "Error : " & result
Else
'변환이 완료되면 원본문서 삭제
DeleteExistFile(filePath)
End If
Set wshShell = nothing
Set Upload = Nothing
'document.pb 파일을 serialized해서 전달 |
...
|
...
|
...
|
...
Dim |
...
binText |
...
binText = ReadBinaryFile(outputPath & "\" & "document.pb") 'pb파일은 읽어들인 후 삭제 DeleteExistFile(outputPath & "\" & "document.pb") '결과를 json 형태로 반환 Response.ContentType = "application/json" Response.write("{""importPath"":""" & relativeOutputPath & """, ""serializedData"":" & |
...
binText & "}") Function Exec(c, t) Dim s, e : Set s = CreateObject("WScript.Shell") : Set e = s.Exec(c) Do While e.Status = 0 Call s.Run("waitfor /t 1 OneSecond", 0, True) t = t - 1 If 0 >= t Then Call s.Run("taskkill /t /f /pid " & e.ProcessId, 0, True) Exit Do End If Loop Set Exec = e End Function 'UUID 생성 Function CreateGUID() Dim tmpTemp tmpTemp = Right(String(4,48) & Year(Now()),4) tmpTemp = tmpTemp & Right(String(4,48) & Month(Now()),2) tmpTemp = tmpTemp & Right(String(4,48) & Day(Now()),2) tmpTemp = tmpTemp & Right(String(4,48) & Hour(Now()),2) tmpTemp = tmpTemp & Right(String(4,48) & Minute(Now()),2) tmpTemp = tmpTemp & Right(String(4,48) & Second(Now()),2) CreateGUID = tmpTemp End Function Function DeleteExistFile(filePath) Dim fso, result Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(filePath) Then fso.DeleteFile(filePath) '파일이 존재하면 삭제합니다. result = 1 Else result = 0 End If DeleteExistFile = result End Function Function ReadBinaryFile(FileName) Const adTypeBinary = 1 Const adTypeText = 2 'Create Stream object |
...
Dim BinaryStream Set BinaryStream = CreateObject("ADODB.Stream") Dim bin, str, cnt ' |
...
Specify stream type |
...
- we want To get binary data. BinaryStream.Type = adTypeBinary ' |
...
Open the |
...
stream BinaryStream.Open |
...
'Load the file data from disk To stream object BinaryStream.Position = 0 ' |
...
Set the stream position to the start BinaryStream.LoadFromFile FileName cnt = 1 Do |
...
|
...
|
...
bin = BinaryStream.Read(1024) if Not isNull(bin) then if cnt = 1 then str = str & BinaryToString(bin, 17) Else str = str & "," & BinaryToString(bin, 1) end if cnt = cnt + 1 end if Loop While Not IsNull(bin) ReadBinaryFile = "[" & str & "]" BinaryStream.Close Set BinaryStream = Nothing End Function Function BinaryToString(Binary, startPosition) 'Antonin Foller, http://www.motobit.com |
...
'Optimized version of a simple BinaryToString algorithm. Dim |
...
cl1, cl2, cl3, pl1, pl2, pl3 Dim L cl1 = startPosition '1 or 17 |
...
cl2 = 1 |
...
|
...
|
...
cl3 = |
...
1 L = LenB(Binary) Do |
...
While cl1<=L pl3 = |
...
pl3 & CStr(AscB(MidB(Binary, |
...
cl1, |
...
1)))
If |
...
cl1 < |
...
L Then |
...
pl3 = |
...
pl3 & "," End if cl1 = cl1 + 1 cl3 = cl3 + 1 If cl3>300 Then pl2 = pl2 & pl3 pl3 = "" cl3 = 1 cl2 = cl2 + 1 If cl2>200 Then |
...
|
...
pl1 = |
...
pl1 & |
...
pl2 pl2 = "" cl2 = 1 End If End If Loop BinaryToString = |
...
pl1 & pl2 & pl3 End Function |
...
%> |
관련정보
Children Display | ||
---|---|---|
|