Jag har gjort så man kan ladda upp bilder när man är inloggad, nu är problemet att jag inte vill sätta en spärr på hur många bilder dom får ladda upp utan att dom bara ska kunna ladda upp 500Kb totalt.
Jag sparar in storleken i i bytes för tillfället och gör om storleken genom att använda denna kod:
lTotalSpace = 10000
lSpaceUsed = ditt_varde
Set Upload = Server.CreateObject("Persits.Upload")
Upload.SetMaxSize (lTotalSpace-lSpaceUsed), True
On Error Resume Next
Upload.Save "c:\upload"
' 8 = File too large
If Err.Number = 8 Then
Response.Write "Filen är för stor!"
Else
If Err <> 0 Then
Response.Write "Ett fel uppstod: " & Err.Description
Else
Response.Write "Lyckades!"
End If
End If
On Error Goto 0
Observera att en del av koden är ur huvudet, samt att manualen inte talar om vilken storhet den första parametern på SetMaxSize har, men jag antar att det är byte. Den andra (Boolean) skall vara True ifall filen skall vägras ifall den är för stor, eller False ifall den skall trunkeras.
Men det där kommer väl inte att fungera särskilt bra om de vill ladda upp fler filer? Om Rs("Summan") är t.ex. 499 så tillåter scriptet fortfarande uppladdning av filer, vilket är rätt på ett sätt, men fel på ett annat, då användaren i princip kan ta en 10 MB stor fil och köra upp utan att scriptet märker det.
Du måste kontrollera ifall filen som laddas upp inte är större än det utrymme som finns kvar på servern.
Sant hade hoppats på att slippa det.
Får väl först sätta en spärr som kollar fil storleken:
Upload.SetMaxSize 512000, True
Sedan efter jag laddat upp filen kan jag ju göra min koll:
If summan + Round((File.Size / 1024), 1) > 100 Then
Session("meddelande") = "Du har fyllt din utrymmes kvot."
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.FileExists(Server.MapPath("bilder\"& NewName & Ext &"")) then
fso.DeleteFile(Server.MapPath("bilder\"& NewName & Ext &""))
end if