---
title: "Ladda upp spärr?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/96596-ladda-upp-spärr"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bosse168"
published: "2004-02-04T21:21:14.000Z"
updated: "2004-02-05T12:07:39.000Z"
replies: 14
views: 358
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/96596-ladda-upp-spärr"
---

# Ladda upp spärr?

## #1 — Bosse168, 2004-02-04T21:21Z

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:

```
Response.write Round((Rs("storlek") / 1024), 1) &"kB"
```

Någon snäll själ som kan hjälpa mig med detta för mig stora problem.

Permalänk: https://www.webforum.nu/p/96596

## #2 — Bosse168, 2004-02-04T21:33Z

Sparar in det i kB nu

Permalänk: https://www.webforum.nu/p/1269189

## #3 — Bosse168, 2004-02-05T08:10Z

Ingen som vet hur en sådan spärr skulle se ut?
Använder ASPupload.

Permalänk: https://www.webforum.nu/p/1269333

## #4 — OveRRidE, 2004-02-05T08:36Z

Har du kikat i manualen efter en storleks-property på komponenten? Kan vara värt att kolla upp.

Permalänk: https://www.webforum.nu/p/1269355

## #5 — Bosse168, 2004-02-05T08:45Z

Det finns det men med den kan jag inte kolla upp hur mycket som personen redan har laddat upp.

Permalänk: https://www.webforum.nu/p/1269360

## #6 — OveRRidE, 2004-02-05T08:59Z

Gör såhär då:

```
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.

Länk: <http://www.aspupload.com/object_upload.html#SetMaxSize>

Permalänk: https://www.webforum.nu/p/1269371

## #7 — Bosse168, 2004-02-05T09:54Z

lTotalSpace = 10000 hur mycket är det i kb?

Permalänk: https://www.webforum.nu/p/1269412

## #8 — Bosse168, 2004-02-05T10:02Z

va inget är lite morgon trött bara

Permalänk: https://www.webforum.nu/p/1269419

## #9 — Bosse168, 2004-02-05T10:14Z

Får detta fel messet:
Persits.Upload.1 error '800a0007' 

Invalid MaxSize value. 

/bild/upload.asp, line 24

Rad 24:
Upload.SetMaxSize (lTotalSpace-lSpaceUsed), True

Permalänk: https://www.webforum.nu/p/1269431

## #10 — Bosse168, 2004-02-05T10:25Z

fixade det utan att använda Upload.SetMaxSize med en enkel If sats:

```
If Rs("Summan")>500 Then
   Session("meddelande") = "Du har fyllt din utrymmes kvot."
   Response.Redirect "default.asp"
End If
```

Permalänk: https://www.webforum.nu/p/1269436

## #11 — OveRRidE, 2004-02-05T10:41Z

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.

Permalänk: https://www.webforum.nu/p/1269447

## #12 — Bosse168, 2004-02-05T10:44Z

yepp jag märkte detta försökte mig på att få in File.Size i räkningen men fick detta fel mess:

Microsoft VBScript runtime error '800a01a8' 

Object required: 'File'

Koden:
If summan + Round((File.Size / 1024), 1) \> 100 Then

Permalänk: https://www.webforum.nu/p/1269450

## #13 — OveRRidE, 2004-02-05T10:53Z

Du måste ange vad 'file' är. 

```
set file = fso.getfile(server.mappath("dinfil"))
```

Grejen är ju den att FSO kan du inte använda det förrän filen faktiskt är på servern, och då är det ju (brutalt uttryckt) redan försent.

Permalänk: https://www.webforum.nu/p/1269459

## #14 — Bosse168, 2004-02-05T11:27Z

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
```

Permalänk: https://www.webforum.nu/p/1269499

## #15 — Bosse168, 2004-02-05T12:07Z

Märkte att jag får fel felmeddelande:
Persits.Upload.1 error '800a0008' 

Size of file P1010078.JPG exceeds the maximum allowed size of 512000 bytes. 

Jag vill ju ha mitt egna:
If Err = 8 Then

   Session("meddelande") = "Bilden du försöker ladda upp är för stor!"
   Response.Redirect "default.asp"
Else

/bild/upload.asp, line 55

Permalänk: https://www.webforum.nu/p/1269525

---

Tråden på webben: https://www.webforum.nu/amne/asp/96596-ladda-upp-spärr
