题
好吧,它已经有一段时间,因为我已经与传统的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
%>
我试过这个地方,设置在我的目录的权限后,它的工作。
您可以从这里得到的原始来源: 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)
不隶属于 StackOverflow