NEW Nmail PHP 3 업그레이드 할인
자세히 보기

Nmail ASP 서비스 종료 안내(EOS)

Nmail ASP (nWmail, Nmail Server) 제품은 유상 유지보수를 포함한 모든 서비스가 종료되었습니다.

파일 업로드 자세한 설명 부탁 드립니다.

데*안 2007.08.29 09:35 조회 3041

※ 필수입력정보 ※

▷ 제품버젼 : nWmail

▷ 질문내용 :
아래 질문을 제가 잘 못 적은 듯 합니다.

파일을 3개 업로드 가능하게 폼을 변경 후 순차적이 아니라 중간에 (1번째가아닌 2번째 입력폼에만 파일 선택) 파일 선택후 업로드 하였을 경우 파일 업로드가 되지 않습니다.

업로드된 파일 명은 리턴되는데 업로드되는 폴더에 가서 확인 해보면 업로드가 안되있습니다.
아래에 소스 보시고 확인 부탁 드립니다.


<input type="file" name="txtUploadFile1" size="47" maxlength="255" style="border: 1 solid"><br>
<input type="file" name="txtUploadFile1" size="47" maxlength="255" style="border: 1 solid"> <br>
<input type="file" name="txtUploadFile1" size="47" maxlength="255" style="border: 1 solid">


---- 업로드 처리 -------
<% @CodePage=949 %>
<% Option Explicit %>
<!-- #include virtual = "/include/dbcon.asp" --> <!--- db connection --->
<!-- #Include virtual = "/email/Include/Func.asp" -->
<!-- #Include virtual = "/email/Include/NoCache.asp" -->
<Object Id="FSO" Runat="server" ProgId="Scripting.FileSystemObject"></Object>
<%
Server.ScriptTimeout = 10000

Dim pid,test
Dim Func
'Dim JF
Dim objUpload
Dim filename

Set Func = New ASPFunc
'Set JF = New JoinForm

Set objUpload = Server.CreateObject("NUpload.Upload.1")

pid = Request.QueryString("pid")

'// 파일 업로드
'// draftPath : 업로드 폴더 경로, pid 변경 불가
filename = FileupLoad(draftPath,pid)

Set objUpload = Nothing

Func.Alert "파일이 업로드 되었습니다."
Func.Location "/email/fileup_test.asp", "self"


Function FileupLoad(uploadpath,pid)

Dim fdObj
Dim fObjs
Dim fObj

Dim savePath
Dim attachFileCount
Dim attachFile
Dim fileExtPos
Dim fileExt
Dim fileCount
Dim tmpFileName
Dim compFileExtPos
Dim compFileExt
Dim compFileName
Dim fi
Dim attachFileSize
Dim arr_filename
Dim i

objUpload.SetId(pid)
objUpload.Readformdata()

attachFileCount = objUpload.GetFileNum()

savePath = uploadpath
objUpload.SetSavePath(savePath)

objUpload.SaveFile(1)

ReDim arr_filename(attachFileCount)
If attachFileCount > 0 Then
For i = 0 To attachFileCount - 1
Set fdObj = FSO.GetFolder(savePath) ' /// 폴더를 가져온다.
' /// 폴더 객체에 있는 파일들을 가져온다.
Set fObjs = fdObj.files

attachFile = objUpload.GetFileName(i)
If attachFile <> "" Then
fileExtPos = InstrRev(attachFile, ".") ' /// 확장자 위치
fileExt = Mid(attachFile, fileExtpos + 1) ' /// 확장자명
fileName = Left(attachFile, fileExtPos - 1) ' /// 파일이름

fileCount = 0

' /// 파일 콜렉션을 가져와 하나씩 분리해서 파일이름을 비교한다.
For Each fObj In fObjs
tmpFileName = fObj.Name ' /// 임시로 파일명 저장
compFileExtPos = InstrRev(tmpFileName, ".") ' /// 확장자 위치
compFileExt = Mid(tmpFileName, compFileExtPos + 1) ' /// 확장자명
'compFileName = Left(tmpFileName, Len(fileName)) ' /// 파일이름
compFileName=Mid(tmpFileName, 1, InstrRev(tmpFileName, ".")-1) '확장자를 제외한 파일명 얻기

' /// 파일명과 확장자명을 비교해서 파일을 Count 한다.
If (fileName = compFileName) And (fileExt = compFileExt) Then
fileCount = fileCount + 1
End If
Next

' /// 파일수가 2보다 같거나 크면 파일명을 다시 지정한다.
' /// 이렇게 하는 이유는 컴포넌트에서 중복파일명을 처리한거랑 같게하기 위해서다.
If fileCount => 2 Then
fileCount = Ccur(fileCount) - 2
attachFile = fileName & "_" & Cstr(fileCount) & "." & fileExt
End If

' /// 파일 사이즈 계산

Set fi = FSO.GetFile(savePath & "\" & attachFile)
attachFileSize = fi.size
Set fi = Nothing
arr_filename(i) = attachFile
End If
Set fObjs = Nothing
Set fdObj = Nothing
Next
End If
FileupLoad = arr_filename
End Function
%>


댓글 1
이전 글 ActiveX 구성 요소는 개체를 작성할 수 없습니다. 3 조*웅 2007.08.31
다음 글 파일 업로드 1 데*안 2007.08.28