M Melea Medlem sedan juli 2003 3 147 inlägg Frågan 29 juli 2003 12:46 #1 Hejsan!
Jag får inte riktigt koll på min kod när jag ska skriva in filstorleken i databasen..
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
' Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/Creative/files/" & Session("username") & "/" & filename))
[b]Function getFileSize(MyFile)
Set fil = ScriptObject.GetFile(Server.MapPath(MyFile))
storlek = fil.size
getFileSize = storlek / 1024
Set fil = Nothing
Set fso = Nothing
End Function
storlek = getFileSize("/Creative/files/" & Session("username") & "/" & filename)[/b]
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={MySQL ODBC 3.51 Driver};server="&strserver&";uid="&struser&";pwd="&strpass&";database="&strdb&""
sql = "insert into files (filename, username, datum, [b]storlek[/b]) values ('" & filename & "', '" & username & "','" & datum & "',[b]'" & storlek & "'[/b])"
Connect.Execute(sql),,128
Connect.Close : Set objConnect = Nothing
MyFile.Close
MVH
S solbulle Medlem sedan mars 2001 5 287 inlägg Vad är eg. problemet?
Det ser ut som om du sparar som text, är det rätt?
Annars skulle jag kunna tänka mig att du försöker kolla storleken på filen innan den finns på servern, kanske att du ska flytta ner anropet av funktionen till efter att filen är skriven till disk.
M Melea Medlem sedan juli 2003 3 147 inlägg Jo men jag måste ju visa vad '" & storlek & "' är, annars blir ju fältet i databasen tomt?
S solbulle Medlem sedan mars 2001 5 287 inlägg Hm.. det där förstår jag inte. Vadå vad storlek är?
M Melea Medlem sedan juli 2003 3 147 inlägg Ah flyttade ner koden som du sa så den hamnade under
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
Men det blir 12 decimaler på storleken, hur ändrar jag detta?
S solbulle Medlem sedan mars 2001 5 287 inlägg Round(tal,2) ger dig två decimaler, ändra siffran för annat antal.
Function getFileSize(MyFile)
Set fil = ScriptObject.GetFile(Server.MapPath(MyFile))
storlek = fil.size
getFileSize = round((storlek / 1024),2)
Set fil = Nothing
End Function
PS. strök Set fso = Nothing ur din funktion, du använder vä inget som heter fso va?
M Melea Medlem sedan juli 2003 3 147 inlägg Na du har rätt (som vanligt :OO)
Tackar för hjälpen än en gång ;)