Frage

Ok, es ist schon eine Weile her, seit ich mit klassischen asp gearbeitet habe, so bin ich ein wenig eingerostet. Hier ist meine Frage.

Ich versuche, eine Datei in dem Dateisystem zu schreiben, mit FSO. Der folgende Code ist sehr einfach. Allerdings wird die Datei nicht angezeigt und keine Fehler erscheinen. Ich weiß, dass es den Code ausgeführt wird, weil ich response.writes vor und nach diesen Schnipseln hinzufügen und sie beide erscheinen in der Ausgabe. Es wird jedoch keine Datei erstellt, wird kein Fehler ausgelöst. Ich habe ich verändern es auch so ist es ein falscher Weg ist, einen Fehler zu erzwingen. Kein Würfel. Ich habe alle gelesen zu haben und auf den Verzeichnisberechtigungen schreiben. Immer noch das gleiche.

Ideen?

Hier ist mein Code:

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
War es hilfreich?

Lösung

Versuchen Sie folgendes:

<%

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

%>

habe ich versucht, diese vor Ort, nachdem die Berechtigungen für mein Verzeichnis einstellen und es hat funktioniert.

Sie können die ursprüngliche Quelle von hier: http://www.freevbcode.com/ShowCode.Asp?ID=89

Andere Tipps

Der einzig mögliche Grund, dass der Code würde eine Fehlermeldung nicht erzeugt, ist, dass Sie dies in Ihrer Seite:

On Error Resume Next

Das ist schlecht, für den Grund, dass Sie gerade gesehen haben. Er ignoriert einfach still alle Fehlermeldungen, und lässt Sie ohne einen Anhaltspunkt zu, warum es nicht wie erwartet funktioniert.

(Es sollte nur für isolierte Teile des Codes verwendet werden, wenn Sie einen Fehler antizipieren, und prüfen Sie tatsächlich für einen Fehlerzustand nach jeder Operation.)

entfernen, dass von Ihrer Seite, und die Fehlermeldung, die Sie wahrscheinlich bekommen, dass die Parameter für den Anruf auf dieser Zeile ungültig sind:

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

Sie haben den zweiten Parameter vergessen, die der E / A-Modus befindet. Sie sollten den Wert 1 zum Schreiben verwenden:

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

Alternativ können Sie die CreateTextFile Methode verwenden statt:

Set objTextStream = objFSO.CreateTextFile("d:\test.txt", True)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top