JeppewebMedlem sedan sep. 2006462 inlägg <!-- #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!
@ndersMedlem sedan juni 200032 969 inlägg JeppewebMedlem sedan sep. 2006462 inlägg <%
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 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 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 ^^
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 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 Tack.
Hur gör jag för att visa felmeddelanden respektive "Succed" på "?page=62" istället?
ersätt response.write med Session("upload")
JeppewebMedlem sedan sep. 2006462 inlägg 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.
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>