Domanda

Ok, è stato un po 'da quando ho lavorato con ASP classico, quindi sono un po' arrugginito. Ecco la mia domanda.

Sto cercando di scrivere un file nel file system con FSO. Il seguente codice è molto semplice. Tuttavia, il file non viene visualizzato e nessun errore stanno comparendo. Lo so che è in esecuzione il codice, perché posso aggiungere response.writes prima e dopo questo frammento ed entrambi appaiono nell'output. Tuttavia, viene creato alcun file, viene lanciata alcun errore. Ho anche cambiato quindi è un percorso simulato per forzare un errore. Niente da fare. Ho aggiunto a tutti di aver letto e scrivere sui permessi di directory. Sempre lo stesso.

idee?

Ecco il mio codice:

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
È stato utile?

Soluzione

Prova questo:

<%

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

%>

Ho provato a farlo a livello locale, dopo aver impostato i permessi sul mio directory e ha funzionato.

È possibile ottenere la fonte originale da qui: http://www.freevbcode.com/ShowCode.Asp?ID=89

Altri suggerimenti

L'unica ragione possibile che il codice non produrrebbe un messaggio di errore, è che avete questo nella vostra pagina:

On Error Resume Next

Questo è male, per la ragione che avete appena visto. Si ignora semplicemente in silenzio eventuali messaggi di errore, e ti lascia senza un indizio sul motivo per cui non funziona come previsto.

(dovrebbe essere utilizzato solo per le parti isolate del codice in cui si prevede un errore, ed effettivamente verificare la presenza di una condizione di errore dopo ogni operazione.)

Rimuovi che dalla pagina, e il messaggio di errore che, probabilmente, si ottiene è che i parametri non sono validi per la chiamata su questa linea:

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

Hai dimenticato il secondo parametro, che è la modalità di I / O. Si dovrebbe usare il valore 1 per la scrittura:

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

In alternativa, è possibile utilizzare il metodo CreateTextFile invece:

Set objTextStream = objFSO.CreateTextFile("d:\test.txt", True)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top