Pregunta

La autorización, que ha sido un tiempo desde que he trabajado con ASP clásico, así que estoy un poco oxidado. Aquí está mi pregunta.

Estoy tratando de escribir un archivo en el sistema de archivos utilizando FSO. El siguiente código es muy simple. Sin embargo, el archivo no aparece y no hay errores están apareciendo. Sé que se está ejecutando el código porque puedo añadir response.writes antes y después de este fragmento y ambos aparecen en la salida. Sin embargo, no se crea ningún archivo, se produce ningún error. Incluso me he cambiado por lo que es un camino falso para forzar un error. No dados. He añadido a todos que han de leer y escribir en los permisos de directorio. Sigue siendo el mismo.

Las ideas?

Aquí está mi código:

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
¿Fue útil?

Solución

Prueba esto:

<%

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

%>

He intentado esto localmente, después de ajustar los permisos en mi directorio y funcionó.

Usted puede obtener la fuente original desde aquí: http://www.freevbcode.com/ShowCode.Asp?ID=89

Otros consejos

La única posible razón de que el código no producirá un mensaje de error, es que usted tiene esto en su página:

On Error Resume Next

Eso es malo, por la razón que acaba de ver. Sólo en silencio hace caso omiso de cualquier mensaje de error, y te deja sin una pista de por qué no está funcionando como se esperaba.

(Sólo se debe utilizar para las piezas aisladas del código en el que anticipa un error, y de hecho comprobar si hay una condición de error después de cada operación.)

Eliminar que desde su página, y el mensaje de error que es probable que se obtiene es que los parámetros no son válidos para la utilización de esta línea:

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

Se ha olvidado el segundo parámetro, que es el modo de E / S. Debe utilizar el valor 1 para la escritura:

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

Como alternativa, puede utilizar el método CreateTextFile lugar:

Set objTextStream = objFSO.CreateTextFile("d:\test.txt", True)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top