Logfile schreiben
timmy
- asp.net
hallo zusammen,
ich habe vom Netz freeASPupload heruntergeladen und bin den code am modifizieren.
http://www.freeaspupload.net/
Es soll ein logfile geschrieben werden. Der entsprechende Code Teil, wo nach erfolgreichem upload die datei angezeigt wird sieth so aus:
-------------------------------------------------------
function SaveFiles
Dim Upload, fileName, fileSize, ks, i, fileKey
Set Upload = New FreeASPUpload
Upload.Save(uploadsDirVar)
' If something fails inside the script, but the exception is handled
If Err.Number<>0 then Exit function
SaveFiles = ""
ks = Upload.UploadedFiles.keys
if (UBound(ks) <> -1) then
SaveFiles = "<B>Files uploaded:<br></B> "
for each fileKey in Upload.UploadedFiles.keys
SaveFiles = SaveFiles & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) "
next
else
SaveFiles = "The file name specified in the upload form does not correspond to a valid file in the system."
end if
SaveFiles = SaveFiles & "<br>New name = " & Upload.Form("enter_a_number") & "<br>"
SaveFiles = SaveFiles & "Format = " & Upload.Form("checkbox_values") & "<br>"
----------------------------------------------
Ich habe in die Function noch folgendes angefügt:
'----------Logfile schreiben----------------------
dim strNamelog, strFilelog
dim fso, objFS, objFile, strFileContent
strNamelog = "," & Upload.Form("enter_a_number") & "," & Upload.Form("checkbox_values")
Upload.Form("checkbox_values")
strFilelog = "\rabmed98\c$\Inetpub\wwwroot\konvert\logfile.txt"
set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FileExists(strFilelog) Then
fso.CreateTextFile(strFilelog)
End If
If Len(strNamelog) > 0 Then
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFile = objFS.OpenTextFile(strFilelog, 8)
objFile.WriteLine strNamelog
objFile.Close
End If
Set fso = CreateObject("Scripting.FileSystemObject")
Set objFile = fso.OpenTextFile(strFilelog, 1)
While Not objFile.AtEndOfStream
strFileContent = strFileContent & objFile.ReadLine & "<br>"
Wend
objFile.Close
'-------------------------------------------------
Aber leider fehlt mir die entsprechende Variabel um den dateinamen im logfile.txt zu speichern.
im browser gibt er mir folgendes aus nach einem upload:
Files uploaded:
strophe4.mp3 (659866B)
New name = test
Format = 2
im logfile steht nur ,test, 2 (weil die variabel noch fehlt)
hi,
im browser gibt er mir folgendes aus nach einem upload:
Files uploaded:
strophe4.mp3 (659866B)
New name = test
Format = 2
Und "strophe4.mp3" ist jetzt das, was du haben möchtest?
Dann schauen wir doch mal, nach, wo dieser "Files uploaded"-Kram ausgegeben wird, Moment, ah ja, hier:
ks = Upload.UploadedFiles.keys
if (UBound(ks) <> -1) then
SaveFiles = "<B>Files uploaded:<br></B> "
for each fileKey in Upload.UploadedFiles.keys
SaveFiles = SaveFiles & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) "
next
Also merke dir doch einfach an dieser Stelle den Wert, bzw. schreibe die Werte bereits dort in die Variable, die du nachher in der Datei speichern möchtest.
gruß,
wahsaga
Und "strophe4.mp3" ist jetzt das, was du haben möchtest?
»»
Korrekt, ich möchte "strophe4.mp3" noch zusätzlich ins logfile schreiben.
Dann schauen wir doch mal, nach, wo dieser "Files uploaded"-Kram ausgegeben wird, Moment, ah ja, hier:
ks = Upload.UploadedFiles.keys
if (UBound(ks) <> -1) then
SaveFiles = "<B>Files uploaded:<br></B> "
for each fileKey in Upload.UploadedFiles.keys
SaveFiles = SaveFiles & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) "
nextAlso merke dir doch einfach an dieser Stelle den Wert, bzw. schreibe die Werte bereits dort in die Variable, die du nachher in der Datei speichern möchtest.
gruß,
wahsaga
Das problem ist, dass ich nicht weiss in welcher variabel er "strophe4.mp3" gespeichert hat. Meines Wissens müsste das in fileKey oder FileName sein. leider schreibt er mir bei beidem nichts ins logfile.
hi,
Das problem ist, dass ich nicht weiss in welcher variabel er "strophe4.mp3" gespeichert hat. Meines Wissens müsste das in fileKey oder FileName sein. leider schreibt er mir bei beidem nichts ins logfile.
Dann lass dir den Key doch mal in der Anzeigeschleife ebenfalls ausgeben.
gruß,
wahsaga
hi,
Das problem ist, dass ich nicht weiss in welcher variabel er "strophe4.mp3" gespeichert hat. Meines Wissens müsste das in fileKey oder FileName sein. leider schreibt er mir bei beidem nichts ins logfile.
Dann lass dir den Key doch mal in der Anzeigeschleife ebenfalls ausgeben.
gruß,
wahsaga
Gute Idee, daran habe ich jetzt nicht gedacht.
Es hat geklappt ich habe in der Schleife noch folgendes hinzugefügt:
for each fileKey in Upload.UploadedFiles.keys
SaveFiles = SaveFiles & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) <br>" & fileName
test=Upload.UploadedFiles(fileKey).FileName
next
und über "test" kann ich das nun auslesen.
Vielen Dank für die schnelle Hilfe