webForumDet fria alternativet

AspUpload 2.1 Hjälp

ASP

9 svar · 290 visningar · startad av pRob3

Medlem sedan maj 2003151 inlägg
Frågan#1

Får messet att bilden har blivit uppladdad även fast bilden var förstor eller är av fel sort. Det funkar dock att ladda upp en bild som är av rätt sort och storlek.
Komponenten som jag använder för att ladda upp bilderna med är AspUpload 2.1.

<%@ LANGUAGE="VBSCRIPT" %>
<%Response.Buffer=True%>
<!-- #INCLUDE VIRTUAL="/include/koppling.asp" -->

<%
Set Rs = Connect.Execute("SELECT COUNT(id) AS Antal FROM bild Where slaf = '"& session("username") &"'")

Dim antal
antal=Rs("Antal") +1
Rs.Close : Set Rs=Nothing

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SetMaxSize 35000, True
On Error Resume Next

'#################### Om filen är för stor

If Err.Number = 8 Then
Connect.Close : Set Connect=Nothing
Session("meddelande") = "Bilden du försöker ladda upp är förstor.\nBilden får max vara 35kB..."
Response.Redirect "default.asp"
Else
   If Err <> 0 Then
Connect.Close : Set Connect=Nothing
Session("meddelande") = "Ett fel inträffade:\n "& Err.Description &""
Response.Redirect "default.asp"
   Else
 
'#########################################

extension = Left(filen,4)
NewName = ""& Session("username") &""& antal &""

Upload.SaveToMemory

For Each File in Upload.Files
   Ext = LCase(Right(File.Path, 4))
   If Ext <> ".jpg" and Ext <> ".gif" and Ext <> ".bmp" Then
      Response.Write "Filen " & File.Path & " är inte av rätt sort.<br>Bara .gif .jpg och .bmp är tillåtna"
   Else
'################ Sparar in det i databasen

Set url = Upload.Form("url")
Set titel = Upload.Form("titel")
Set beskriv = Upload.Form("beskriv")
Set kate = Upload.Form("kate")
Set access = Upload.Form("access")
      
File.SaveAs ""& Server.MapPath("bilder") &"\"& NewName &""& Ext &""

Connect.Execute("INSERT INTO bild (bild_id,url,bild,slaf,titel,beskriv,kate,access,datum) VALUES('"& NewName &"','"& Replace(url,"'","''") &"','"& NewName &""& Ext &"','"& Session("username") &"','"& Replace(titel,"'","''") &"','"& Replace(beskriv,"'","''") &"','"& Replace(kate,"'","''") &"','"& access &"','"& Now() &"')")
Session("meddelande") = "Din bild har blivit uppladdad. :)"

Response.Redirect "default.asp"

'#################################
   End If
Next

Session("meddelande") = "Din bild har blivit uppladdad. :)"
Response.Redirect "default.asp"

End If
End If

Connect.Close : Set Connect=Nothing
%>
Medlem sedan mars 20015 287 inlägg
#2

Kanske... fipplat lite i din kod har jag gjort hur som helst. :)

<%@ LANGUAGE="VBSCRIPT" %>
<%Response.Buffer=True%>
<!-- #INCLUDE VIRTUAL="/include/koppling.asp" -->

<%
Set Rs = Connect.Execute("SELECT COUNT(id) AS Antal FROM bild Where slaf = '"& session("username") &"'")

Dim antal
antal=Rs("Antal") +1
Rs.Close : Set Rs=Nothing

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SetMaxSize 35000, True
On Error Resume Next

'#################### Om filen är för stor

If Err.Number = 8 Then
	Connect.Close : Set Connect=Nothing
	Session("meddelande") = "Bilden du försöker ladda upp är förstor.\nBilden får max vara 35kB..."
	Response.Redirect "default.asp"
ElseIf Err <> 0 Then
	Connect.Close : Set Connect=Nothing
	Session("meddelande") = "Ett fel inträffade:\n "& Err.Description
	Response.Redirect "default.asp"
Else
 
'#########################################

	extension = Left(filen,4)
	NewName = ""& Session("username") &""& antal &""

Upload.SaveToMemory

For Each File in Upload.Files
   Ext = LCase(Right(File.Path, 4))
   If Ext <> ".jpg" and Ext <> ".gif" and Ext <> ".bmp" Then
      Response.Write "Filen " & File.Path & " är inte av rätt sort.<br>Bara .gif .jpg och .bmp är tillåtna"
   Else
'################ Sparar in det i databasen

	Set url = Upload.Form("url")
	Set titel = Upload.Form("titel")
	Set beskriv = Upload.Form("beskriv")
	Set kate = Upload.Form("kate")
	Set access = Upload.Form("access")
      
	File.SaveAs Server.MapPath("bilder") &"\"& NewName & Ext

	Connect.Execute("INSERT INTO bild (bild_id,url,bild,slaf,titel,beskriv,kate,access,datum) VALUES('"& NewName &"','"& Replace(url,"'","''") &"','"& NewName &""& Ext &"','"& Session("username") &"','"& Replace(titel,"'","''") &"','"& Replace(beskriv,"'","''") &"','"& Replace(kate,"'","''") &"','"& access &"','"& Now() &"')")
	Session("meddelande") = "Din bild har blivit uppladdad. "

	Connect.Close : Set Connect=Nothing

	Response.Redirect "default.asp"

'#################################
   End If
Next

End If
%>
Medlem sedan maj 2003151 inlägg
#3

med den koden så händer det ingenting om bilden är för stor.

Medlem sedan mars 20015 287 inlägg
#4

Ah, om du byter ut denna rad:

ElseIf Err <> 0 Then

mot denna då:

ElseIf Err.Number <> 0 Then

Medlem sedan maj 2003151 inlägg
#5

Händer fortfarande inget om bilden är förstor.

Medlem sedan mars 20015 287 inlägg
#6

Händer inget skriver du. Inget mess o ingen uppladdad bild eller vadå?

Medlem sedan maj 2003151 inlägg
#7

nej ingen uppladdad bild det blir bara en tom vit sida...

Medlem sedan maj 2003151 inlägg
#8

ingen?

Medlem sedan juni 200032 967 inlägg
#9

Och du får inget felmeddelande om du tar bort on error resume next?

Medlem sedan maj 2003151 inlägg
#10

Då får jag det här fel messet om bilden är för stor:

Persits.Upload.1 error '800a0008'

Size of file bild.jpg exceeds the maximum allowed size of 35000 bytes.

/bild/upload.asp, line 27

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)