webForumDet fria alternativet

Bildarkiv

5 svar · 408 visningar · startad av SoulGod

SoulGodMedlem sedan aug. 20051 200 inlägg
#1

Har precis fått ett bildarkiv gjort åt mig, av en god vän.
Men jag har lite problem att få det att fungera, och han är inte i närheten längre.

Felkoden är:

Feltyp:
ADODB.Field (0x800A0BCD)
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
/porrsmurfan/bildarkiv/admin_ladda_upp.asp, line 98

Och här är koden i admin_ladda_upp.asp

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function CaricaFoto(img){
  foto1= new Image();
  foto1.src=(img);
  Controlla(img);
}
function Controlla(img){
  if((foto1.width!=0)&&(foto1.height!=0)){
    viewFoto(img);
  }
  else{
    funzione="Controlla('"+img+"')";
    intervallo=setTimeout(funzione,20);
  }
}
function viewFoto(img){
  largh=foto1.width+20;
  altez=foto1.height+20;
  stringa="width="+largh+",height="+altez;
  finestra=window.open(img,"",stringa);
}
//  End -->
</script>
</head>

<body>
<%
if Session("bilder_id") = "" then
	response.redirect "admin.asp"
else
	Response.Write "<b>Admin</b>"
	Response.Write "<br> - <a href=admin_fixaren.asp>Fixa bilder</a>"
	Response.Write "<br> - <a href=admin_ladda_upp.asp>Administrera fotogalleriet</a>"
	Response.Write "<br><a href=logga_ut.asp>Logga ut</a><br><br>"
end if
%>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function del(go){ if (confirm("Är du säker på att du vill ta bort den?\n\nDet går inte ångra!")){self.location=(go)}else{}}
function CaricaFoto(img){
  foto1= new Image();
  foto1.src=(img);
  Controlla(img);
}
function Controlla(img){
  if((foto1.width!=0)&&(foto1.height!=0)){
    viewFoto(img);
  }
  else{
    funzione="Controlla('"+img+"')";
    intervallo=setTimeout(funzione,20);
  }
}
function viewFoto(img){
  largh=foto1.width+20;
  altez=foto1.height+20;
  stringa="width="+largh+",height="+altez;
  finestra=window.open(img,"",stringa);
}
//  End -->
</script>
<br><br><br><%
Response.Buffer = True
Session.LCID = 1053

' **************************************************************************************************************
' SETTINGS

strPageName = "admin_ladda_upp.asp?"			'Sidans Namn
strPageTitel = "Bild Arkivet"		'Här skriver du vad du vill sid
strUploadFolder = "bilderattfixa"	'Mappen du vill skicka upp till
strimageUploadFolder = "bilder"	'Mappen du vill skicka upp till
strThumbUploadFolder = "thumbnails"	'Mappen du vill skicka upp till
strsidFolder = "/"
strAllow = ".gif, .jpg, .bmp"			'Filerna som är uppladdningsbara, glöm ej kommatecknet vid tillägg
strFileShow = 10					'Hur många filer innan ny sida

' **************************************************************************************************************
strFixAllow = strAllow
strFixAllow = Replace(strFixAllow,",","&nbsp")

If Request("laddaupp") <> "" Then
%>
<!-- #include file="databaskopplingar.asp" -->
<%
	
	katid = Request("arkiv")
	Set rs = Connect.execute("Select * From bildkategorier WHERE ID = '"&katid&"'")
	
98 --->	mapp = rs("mapp")
	
	rs.Close: Set rs = Nothing
	
	Set Upload = Server.CreateObject("Persits.Upload") 

		
	strUploadFolder = strUploadFolder
	strimageUploadFolder = strimageUploadFolder &"\"& mapp
	strThumbUploadFolder = strThumbUploadFolder &"\"& mapp
	
	Path = Server.MapPath(strUploadFolder) 
	imagePath = Server.MapPath(strimageUploadFolder) 
	thumbPath = Server.MapPath(strThumbUploadFolder)

	Count = Upload.Save(Path) 

	If Count = 0 Then
		Response.Write "No images selected."
	Else
		For Each File in Upload.Files

			Set jpeg = Server.CreateObject("Persits.Jpeg") 
			
			'Gör om bilden
			jpeg.Open( File.Path ) 
			
			L = 660

			If jpeg.OriginalWidth > jpeg.OriginalHeight Then
			   jpeg.Width = L
			   jpeg.Height = jpeg.OriginalHeight * L / jpeg.OriginalWidth
			Else
			   jpeg.Height = L
			   jpeg.Width = jpeg.OriginalWidth * L / jpeg.OriginalHeight
			End If

			SavePath = imagePath & "\" & File.ExtractFileName 

			jpeg.Save SavePath 
			
			' Skapa Thumbnails
			jpeg.Open( File.Path ) 
			
			L = 180

			If jpeg.OriginalWidth > jpeg.OriginalHeight Then
			   jpeg.Width = L
			   jpeg.Height = jpeg.OriginalHeight * L / jpeg.OriginalWidth
			Else
			   jpeg.Height = L
			   jpeg.Width = jpeg.OriginalWidth * L / jpeg.OriginalHeight
			End If

			SavePath = thumbPath & "\" & File.ExtractFileName 

			bild 	= mapp & "/" & File.ExtractFileName 

			Connect.Execute("INSERT INTO bildarkiv (katid, bild) VALUES('"& katid &"','"& bild &"')")

			jpeg.Save SavePath 
			
			Upload.DeleteFile File.Path
		Next
	End If
	
	Connect.Close : Set Connect = Nothing
	

	Session("mess") = "Du har gjort en lyckad uppladdning !!!"
	Response.Redirect strPageName &"arkiv="& katid
End If 

if Session("mess") <> "" then 
	Response.Write "<big>"&Session("mess")&"</big><br><br>"
	Session("mess") = ""
end if
%>
<!-- #include file="databaskopplingar.asp" -->
<% 
Set rs2 = Connect.execute("Select Id, kategorinamn From bildkategorier ORDER by Id")

if rs2.eof then
	Response.Write "<br><br><i>Det finns inga kategorier!</i>"
	rs2.Close
	Set rs2 = nothing
else

	arrRs2 = rs2.GetRows()

	rs2.Close
	Set rs2 = nothing

	intRows2 = uBound(arrRs2,2)
%>
Välj kategori: <select name="arkiv" onChange="location='<%=strPageName%>arkiv='+this.value;">
<%
 	arkiv = Request("arkiv")
 	if arkiv = "" then
 		arkiv = 1
 	end if
 	
	For rows2 = 0 to intRows2
		if CLng(arkiv) = CLng(arrRs2(0,rows2)) then
			Response.Write "<option value="&arrRs2(0,rows2)&" selected>"&arrRs2(1,rows2)&"</option>"
		else
			Response.Write "<option value="&arrRs2(0,rows2)&">"&arrRs2(1,rows2)&"</option>"
		end if
	Next
	Response.Write "</select>"

end if

%>
    <br><br>Just nu kan du bara ladda upp filer med ändelsen: <b><%=strFixAllow%></b><br>
    <br>       
	<FORM method="post" ENCTYPE="multipart/form-data" ACTION="<%=strPageName%>laddaupp=1&arkiv=<%=arkiv%>" name="carform">
		<INPUT TYPE="FILE" NAME="FILE1" value="" size="20"><br>
		<INPUT TYPE="SUBMIT" NAME="laddaupp" VALUE="Ladda upp">
	</FORM>

<%
	Set rs2 = Connect.execute("Select Id, katid, bild From bildarkiv WHERE katid = "&arkiv&" ")

	if rs2.eof then
		Response.Write "<br><br><i>Det finns inga bilder i denna kategori!</i>"
		rs2.Close
		Set rs2 = nothing
	else

		arrRs2 = rs2.GetRows()

		rs2.Close
		Set rs2 = nothing

		intRows2 = uBound(arrRs2,2)
	
		Response.Write "<FORM ACTION="&strPageName&"do=erase&arkiv="&arkiv&" METHOD=POST><table cellpadding=5 cellspacing=0>"
	
		x = 1

		For rows2 = 0 to intRows2
			if x = 1 then
				Response.Write "<tr><td>"
			else
				Response.Write "<td>"
			end if
			
			Response.Write "<INPUT TYPE=CHECKBOX VALUE="&arrRs2(0,rows2)&" NAME=bildid>"
			Response.Write "<a href=javascript:CaricaFoto('bilder/"&arrRs2(2,rows2)&"')><img src=thumbnails/"&arrRs2(2,rows2)&" border=0></a>"

			if x = 4 then
				Response.Write "</td></tr>"
				x = 1
			else
				Response.Write "</td>"
				x = x + 1
			end if
		Next
		Response.Write "</table><INPUT TYPE=SUBMIT NAME=Delete VALUE='Delete selected files'></form>"

	end if

	Connect.Close : Set Connect = nothing

	If Request.QueryString("do") = "erase" Then
%><!-- #include file="databaskopplingar.asp" --><%

		Set Upload = Server.CreateObject("Persits.Upload.1")

		If Request("Delete") <> "" Then
			For Each Item in Request("bildid")
				Set rs = Connect.execute("Select * From bildarkiv WHERE ID = "&Item&" ORDER BY id")
				
				bild = rs("bild")
				imagemap = Server.MapPath(strimageUploadFolder) &"/"& bild
				thumbmap = Server.MapPath(strThumbUploadFolder) &"/"& bild
				
				Upload.DeleteFile imagemap
				Upload.DeleteFile thumbmap
				Connect.execute("delete from bildarkiv WHERE ID = "&Item&"")
				
				rs.Close: Set rs = Nothing
			Next
		End If
		Connect.Close : Set Connect = nothing
		Response.Redirect strPageName &"arkiv="&arkiv
	End If
%>
SoulGodMedlem sedan aug. 20051 200 inlägg
#2

Raden 98 är markerad med > ""98 --->""
Jag försöker alltså att ladda upp en bild till arkivet nu.

paddanMedlem sedan dec. 2002299 inlägg
#3

et har inget med att ladda upp bild utan det är något du letar efter i en databas fast den inte finns där.

SoulGodMedlem sedan aug. 20051 200 inlägg
#4

Det enda jag ser att den söker efter, är "mapp" på raden 98, och den finns ju där? Alltså mappen ,finns både i databasen och i "verkligheten" ..

SoulGodMedlem sedan aug. 20051 200 inlägg
#5

Parsits som server använder , använder sig ju av AspUpload, och jag testade precis den klienten. och aspupload fungerar.

@ndersMedlem sedan juni 200032 969 inlägg
#6

Felet betyder att recordsetet är tomt. Antingen innehåller databasen inte det du frågar efter, eller så är SQL-frågan felaktig.

Det kan vara så att variabeln katid inte innehåller något värde. Skriv ut och prova.

Det vore också bra om du försökte att inte posta all kod som finns i hela världen, utan bara ha med det som är relevant för problemet. Till exempel kan du ju kasta bort allt javascript och det mesta efter det att felet inträffar.

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