Avatar billede timmwillum Nybegynder
18. november 2007 - 21:04 Der er 3 kommentarer og
1 løsning

ASPupload - begrænse filstørrelse

Hej

Skal oploade en fil og har lavet følgende kode, som modtager input fra en form:

    Set Upload = Server.CreateObject("Persits.Upload.1")
   
    Upload.OverwriteFiles = False
    On Error Resume Next
   
    Upload.SetMaxSize 1048576 ' Limit files to 1MB
    Count = Upload.Save(Server.MapPath(strMappe))

Jeg troede egentlig, at "Upload.SetMaxSize" begrænsede størrelsen af filen, så den ikke oploader filer over det satte maksimum. Men den uploader bare den første del af billedet og så får jeg et "halvt" billede i mit album. Jeg ville jo hellere have, at brugeren fik en besked om, at billedet er for stort ... kan det ikke lade sig gøre? Skal vel undersøge filstørrelsen på clientniveau ... but how?

Er der samtidig en, som kan fortælle mig, hvordan man så begrænser opload så det kun kan være jpg ... skal vel tilsvarende ske på clientniveau?
Avatar billede ellebaek Nybegynder
18. november 2007 - 22:05 #1
Set Upload = Server.CreateObject("Persits.Upload.1")
 
    Upload.OverwriteFiles = False
    On Error Resume Next
 
    Upload.SetMaxSize 1048576, True ' Limit files to 1MB
    Count = Upload.Save(Server.MapPath(strMappe))

Har tilføjet en ,True til setMaxSize. Det vil sige at billeder over størrelsen bliver afvist, ellers blir de beskåret...

Link: http://www.aspupload.com/object_upload.html#SetMaxSize
Avatar billede timmwillum Nybegynder
18. november 2007 - 22:12 #2
bingo ... det virker.

Har du nogen ide om, hvordan jeg sikrer mig, at det kun er jpg, som bliver oploadet?
Avatar billede ellebaek Nybegynder
18. november 2007 - 22:30 #3
hvis det kun er jpg's du vil uploade, så kan du gøre noget i stilen af:

<%
Set Upload = Server.CreateObject("Persits.Upload.1")
 
    Upload.OverwriteFiles = False
    On Error Resume Next
 
    Upload.SetMaxSize 1048576, True ' Limit files to 1MB'

Upload.Save Server.MapPath(strMappe)

For Each File in Upload.Files
  'hvis filen ikke er et JPG, så skrives det og billedet slettes.
  If File.ImageType <> "JPG" Then
      Response.Write "This is not a JPGE image."
      File.Delete
else
%>
  <IMG SRC="<% = File.FileName %>"><BR>
  <IMG SRC="<% = "small_" & File.FileName %>"><P>
<%
end if
Next
%>
</BODY>
</HTML>

Håber det leder dig på rette vej...
Avatar billede timmwillum Nybegynder
20. november 2007 - 19:29 #4
tjaaa ... det ville jo så medføre, at jeg først uploader filen og derefter sletter den igen ... spild af båndbredde :-)

Fandt en løsning ved at bruge JavaScript verificering på clientniveau.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB