Asp classic Can';t在经典asp中编写文件

Asp classic Can';t在经典asp中编写文件,asp-classic,filesystemobject,Asp Classic,Filesystemobject,好的,我已经有一段时间没有使用经典asp了,所以我有点生疏了。这是我的问题 我正在尝试使用FSO将文件写入文件系统。下面的代码非常简单。但是,文件不会出现,也不会出现错误。我知道它正在运行代码,因为我可以在这个代码段之前和之后添加response.writes,它们都出现在输出中。但是,不会创建任何文件,也不会引发任何错误。我甚至改变了它,所以这是一个虚假的路径,以迫使一个错误。没有骰子。我添加了每个人对目录的读写权限。还是一样 想法 这是我的密码: Dim objFSO Set objFSO

好的,我已经有一段时间没有使用经典asp了,所以我有点生疏了。这是我的问题

我正在尝试使用FSO将文件写入文件系统。下面的代码非常简单。但是,文件不会出现,也不会出现错误。我知道它正在运行代码,因为我可以在这个代码段之前和之后添加response.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

%>

在我的目录上设置了权限之后,我在本地尝试了这个方法,它成功了

您可以从以下位置获取原始来源:

代码不会产生错误消息的唯一可能原因是您的页面中有以下内容:

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)

我唯一不同的做法是先检查文件是否存在。除非iMode of 2要创建文件…已经有一段时间了,不记得所有的模式:)代码看起来很棒,但我得到了相同的结果。没有文件,没有错误。还有什么要尝试或检查的吗?请尝试在驱动器上创建一个目录,并将权限设置为具有写访问权限的所有人,然后查看是否有效。如果是,那么可能是权限问题。唯一的问题是,如果是权限问题,您的代码应该报告您没有访问权限。嗯…Thinking创建了一个目录并授予每个人完全访问权限。同样的结果。奇怪。附加说明:你是在用一个空白的asp页面来尝试这个吗?不包括?我希望我能检查2个正确答案。我们刚刚发现,在代码中,这是一个邪恶的“错误恢复下一步”。删除了那个。效果很好。谢谢你的帮助!!!