p; Err.Raise ERR_NO_FILENAME End If If Not CheckFileExtension(strFileName) Then Err.Raise ERR_NO_EXTENSION End If lngFileDataStart = InStr(InStr(varHTTPHeader, strFileName), varHTTPHeader, vbCrLf & vbCrLf) + 4 lngFileDataEnd = InStr(lngFileDataStart, varHTTPHeader, varDelimeter) lngFileLength = lngFileDataEnd-lngFileDataStart If lngFileLength <= 2 Then Err.Raise ERR_EMPTY_FILE End If
If Not lngMaxFileBytes = 0 Then If lngMaxFileBytes < lngFileLength Then Err.Raise ERR_FILESIZE_NOT_ALLOWED End If End If If Not fs.FolderExists(strUploadPath) Then Err.Raise ERR_FOLDER_DOES_NOT_EXIST End If
If fs.FileExists(strUploadPath & strFileName) Then Err.Raise ERR_FILE_ALREADY_EXISTS End If Set sFile = fs.CreateTextFile(strUploadPath & strFileName, True) sFile.Write varContent , lngFileDataStart, lngFileLength Close File sFile.Close Set sFile = Nothing Set fs = Nothing
Next DoUpload = "" Exit Function DoUpload_Err: arrError(0, 0) = "Error" Select Case Err.Number Case ERR_NO_FILENAME arrError(0, 1) = "没有输入需要提交的文件名。" Case ERR_NO_EXTENSION arrError(0, 1) = "文件扩展名出错。" Case ERR_EMPTY_FILE arrError(0, 1) = "你要上载的文件长度为0。" Case ERR_FILESIZE_NOT_ALLOWED arrError(0, 1) = "总共要上传 [" & lngFileLength &_ "] 字节超过了允许的最大要求 [" &_ lngMaxFileBytes & "]." Case ERR_FOLDER_DOES_NOT_EXIST arrError(0, 1) = "上传的目录不存在。" Case ERR_FILE_ALREADY_EXISTS arrError(0, 1) = "文件 [" & strFileName & "] 已经存在了。" Case Else arrError(0, 1) = Err.Description End Select DoUpload = arrError() End Function