webForumDet fria alternativet

SetMaxSize

11 svar · 476 visningar · startad av Jeppeweb

JeppewebMedlem sedan sep. 2006462 inlägg
#1
<!-- #include file="databaskopplingar.asp" -->
<% 
	Set Upload = Server.CreateObject("Persits.Upload")
	' we use memory uploads, so we must limit file size
	Upload.SetMaxSize 100000, True

	' Save to memory. Path parameter is omitted
	Upload.Save
	
	text = Upload.Form("text")

	' Save files to it. Our form has only one file item
	' but this code is generic.
	For Each File in Upload.Files
		filename = Session("cmalias") &"_"& File.FileName
		File.SaveAs server.mappath("bilder/fotoalbum") &"\"& filename
	Next

	vems = Session("cmid")
	datum = Now

	Connect.Execute("INSERT INTO fotoalbum (vems, bild, datum, text) VALUES('"& vems &"','"& filename &"','"& datum &"','"& text &"')")

	Session("upload") = "Filen blev godkänd och har lagts in i fotoalbumet!"

	Response.Redirect("?page=62")

%>

Hur gör jag för att få upp en ruta eller på något sett visa att filen överskrider max tillåtna filstorleken ?

Jag vill undvika ett vanligt felmeddelande alá;

Persits.Upload.1 error '800a0008'

At least one of the uploaded files exceeds the maximum allowed size.

/laddaupp_foto.asp, line 8

Tack för hjälpen!

JeppewebMedlem sedan sep. 2006462 inlägg
#2

Någon?

@ndersMedlem sedan juni 200032 969 inlägg
JeppewebMedlem sedan sep. 2006462 inlägg
#4
<%
Set Upload = Server.CreateObject("Persits.Upload") 
Upload.SetMaxSize 50000, True 
On Error Resume Next 

	Upload.Save

	text = Upload.Form("text")

	' Save files to it. Our form has only one file item
	' but this code is generic.
	For Each File in Upload.Files
		filename = Session("cmalias") &"_"& File.FileName
		File.SaveAs server.mappath("bilder/fotoalbum") &"\"& filename

If Err.Number = 8 Then 
   Response.Write "Your file is too large. Please try again." 
Else 
   If Err <> 0 Then 
      Response.Write "An error occurred: " & Err.Description 
   Else 
      Response.Write "Success!" 
      
	vems = Session("cmid")
	datum = Now

	Connect.Execute("INSERT INTO fotoalbum (vems, bild, datum, text) VALUES('"& vems &"','"& filename &"','"& datum &"','"& text &"')")

   End If 
End If 
%>

Microsoft VBScript compilation error '800a03fc'

Expected 'Next'

/laddaupp_foto.asp, line 33

@ndersMedlem sedan juni 200032 969 inlägg
#5

Tips för att tolka felmeddelandet.
"Expected Next" -> "Next förväntas".
Om du jämför din kod så kan du kanske se var / varför ett "next" förväntas.

JeppewebMedlem sedan sep. 2006462 inlägg
#6

det enda jag kan tänka mig att ett next ska sitta är här;

[b]next[/b]
	vems = Session("cmid")
	datum = Now

	Connect.Execute("INSERT INTO fotoalbum (vems, bild, datum, text) VALUES('"& vems &"','"& filename &"','"& datum &"','"& text &"')")

   End If 
End If

Men då får jag unexpected next ^^

voigtann1Medlem sedan juni 20019 519 inlägg
#7

om du har lite struktur i dina koder så kan man rätt lätt få reda på vad felet kan vara:

<%
Set Upload = Server.CreateObject("Persits.Upload") 
Upload.SetMaxSize 50000, True 
On Error Resume Next 
Upload.Save

text = Upload.Form("text")

' Save files to it. Our form has only one file item
' but this code is generic.
For Each File in Upload.Files
  filename = Session("cmalias") &"_"& File.FileName
  File.SaveAs server.mappath("bilder/fotoalbum") &"\"& filename
  If Err.Number = 8 Then 
    Response.Write "Your file is too large. Please try again." 
  Else 
    If Err <> 0 Then 
      Response.Write "An error occurred: " & Err.Description 
    Else 
      Response.Write "Success!" 
      vems = Session("cmid")
      datum = Now
      Connect.Execute("INSERT INTO fotoalbum (vems, bild, datum, text) VALUES('"& vems &"','"& filename &"','"& datum &"','"& text &"')")
    End If 
  End If 
' **** Hint ****
%>
@ndersMedlem sedan juni 200032 969 inlägg
#8

Om du ser till att indentera koden ordentligt så ser du var next ska vara:

	For Each File in Upload.Files
		filename = Session("cmalias") &"_"& File.FileName
		File.SaveAs server.mappath("bilder/fotoalbum") &"\"& filename

		If Err.Number = 8 Then 
		   Response.Write "Your file is too large. Please try again." 
		Else 
		   If Err <> 0 Then 
		      Response.Write "An error occurred: " & Err.Description 
		   Else 
		      Response.Write "Success!" 
      
		      vems = Session("cmid")
		      datum = Now

		      Connect.Execute("INSERT INTO fotoalbum (vems, bild, datum, text) VALUES('"& vems &"','"& filename &"','"& datum &"','"& text &"')")

		   End If 
		End If 
	Next
JeppewebMedlem sedan sep. 2006462 inlägg
#9

Tack.
Hur gör jag för att visa felmeddelanden respektive "Succed" på "?page=62" istället?

voigtann1Medlem sedan juni 20019 519 inlägg
#10

ersätt response.write med Session("upload")

JeppewebMedlem sedan sep. 2006462 inlägg
#11
  If Err.Number = 8 Then 
	Session("upload") = "Din bild är för stor. Gör bilden mindre eller försök med en annan :)"

	Response.Redirect("?page=62")
Else 
    If Err <> 0 Then 
      Response.Write "An error occurred: " & Err.Description

Funkar inte .. ? Skickas bara till en tom sida.

voigtann1Medlem sedan juni 20019 519 inlägg
#12

kan ju vara att du klarar din uppladdning av bilden i ELSE satsen... och då gör den väl inget... lägg Response.Redirect("?page=62") utanför for och NEXT

kan även vara att du exemplevis din kod ligger i upload.asp

dvs din redirect kanske skulle gå till default.asp
Kontrollera vart du vill att den ska redirekta till ... mitt tips är att använda hela filnamnet dvs <default.asp><querystringen>

128 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)