Question

Ok, ça a été un moment que j'ai travaillé avec asp classique, donc je suis un peu rouillé. Voici ma question.

Je suis en train d'écrire un fichier dans le système de fichiers en utilisant OFS. Le code ci-dessous est très simple. Toutefois, le fichier ne comparaît pas et aucune erreur apparaissent. Je sais qu'il est en cours d'exécution du code parce que je peux ajouter response.writes avant et après cet extrait et ils apparaissent tous deux comme dans la sortie. Cependant, aucun fichier est créé, aucune erreur est levée. Je l'ai même changé de sorte qu'il est un chemin faux pour forcer une erreur. Pas de dé. J'ai ajouté tout le monde d'avoir lu et écrire sur les autorisations de répertoire. Toujours le même.

Idées?

Voici mon 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
Était-ce utile?

La solution

Essayez ceci:

<%

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

%>

J'ai essayé sur place, après avoir défini les autorisations sur mon répertoire et ça a marché.

Vous pouvez obtenir d'ici la source d'origine: http://www.freevbcode.com/ShowCode.Asp?ID=89

Autres conseils

La seule raison possible que le code ne produirait pas un message d'erreur, est que vous avez dans votre page:

On Error Resume Next

C'est mauvais, pour la raison que vous venez de voir. Il ignore silencieusement les messages d'erreur, et vous laisse sans la moindre idée de pourquoi il ne fonctionne pas comme prévu.

(Il ne doit être utilisé pour des parties isolées du code où vous anticipez une erreur, et fait vérifier une condition d'erreur après chaque opération.)

Supprimer que de votre page, et le message d'erreur que vous obtenez probablement est que les paramètres ne sont pas valides pour l'appel sur cette ligne:

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

Vous avez oublié le second paramètre, qui est le mode d'E / S. Vous devez utiliser la valeur 1 pour l'écriture:

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

Vous pouvez également utiliser la méthode CreateTextFile à la place:

Set objTextStream = objFSO.CreateTextFile("d:\test.txt", True)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top