문제

좋아, 클래식 ASP와 함께 일한 이래로 시간이 지났으므로 약간 녹슬 었습니다. 여기 내 질문이 있습니다.

FSO를 사용하여 파일 시스템에 파일을 작성하려고합니다. 아래 코드는 매우 간단합니다. 그러나 파일이 나타나지 않고 오류가 나타나지 않습니다. 응답을 추가 할 수 있기 때문에 코드를 실행하고 있다는 것을 알고 있습니다. 그러나 파일이 생성되지 않으며 오류가 발생하지 않습니다. 나는 심지어 그것을 바꾸어 오류를 강요하는 가짜 경로입니다. 주사위가 없습니다. 디렉토리 권한을 읽고 쓸 수 있도록 모든 사람을 추가했습니다. 여전히 동일합니다.

아이디어?

내 코드는 다음과 같습니다.

Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

'Open the text file
Dim objTextStream
Set objTextStream = objFSO.OpenTextFile("d:\test.txt", True)

'Display the contents of the text file
objTextStream.WriteLine "howdy"

'Close the file and clean up
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
도움이 되었습니까?

해결책

이 시도:

<%

if Append = true then
   iMode = 8
else 
   iMode = 2
end if
set oFs = server.createobject("Scripting.FileSystemObject")
set oTextFile = oFs.OpenTextFile("C:\wwwroot\Test.txt", iMode, True)
oTextFile.Write "Test Content"
oTextFile.Close
set oTextFile = nothing
set oFS = nothing

%>

내 디렉토리에서 권한을 설정 한 후이 지역에서 시도해 보았습니다.

여기에서 원래 소스를 얻을 수 있습니다.http://www.freevbcode.com/showcode.asp?id=89

다른 팁

코드가 오류 메시지를 생성하지 않는 유일한 이유는 페이지에이를 가지고 있기 때문입니다.

On Error Resume Next

당신이 방금 본 이유 때문에 그것은 나쁘다. 오류 메시지를 조용히 무시하고 예상대로 작동하지 않는 이유에 대한 단서가 없습니다.

(오류를 예상하는 코드의 격리 된 부분에만 사용되어야하며 실제로 각 작업 후에 오류 조건을 확인하십시오.)

페이지에서이를 제거하고 아마도 얻을 수있는 오류 메시지는이 라인의 호출에 대해 매개 변수가 유효하지 않다는 것입니다.

Set objTextStream = objFSO.OpenTextFile("d:\test.txt", True)

I/O 모드 인 두 번째 매개 변수를 잊어 버렸습니다. 쓰기에는 값 1을 사용해야합니다.

Set objTextStream = objFSO.OpenTextFile("d:\test.txt", 1, True)

또는 사용할 수 있습니다 CreateTextFile 대신 방법 :

Set objTextStream = objFSO.CreateTextFile("d:\test.txt", True)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top