Вопрос

Хорошо, я давно не работал с классическим asp, так что я немного заржавел.Вот мой вопрос.

Я пытаюсь записать файл в файловую систему с помощью FSO.Код ниже очень прост.Однако файл не отображается и ошибок не возникает.Я знаю, что он запускает код, потому что я могу добавить ответ.writes до и после этого фрагмента, и они оба появятся в выходных данных.Однако файл не создается, ошибка не возникает.Я даже изменил его, так что это ложный способ вызвать ошибку.Никаких кубиков.Я добавил всем, кто имеет права на чтение и запись в каталоге.Все еще такой же.

Идеи?

Вот мой код:

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)

Вы забыли второй параметр — режим ввода-вывода.Вы должны использовать значение 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