webForumDet fria alternativet

aspUploadproblem eller kanske jämförelseproblem

ASP

6 svar · 458 visningar · startad av andyoumaydie

Medlem sedan dec. 2006608 inlägg
Frågan#1

Hejsan, har stött på ett vad jag tycker väldigt konstigt problem, jag har två st nästintill identiska formulär, det enda som skiljer dem är att de ena i tilägg till input type=file också innehåller två input type="text".

Jag har också två upload scripts som också är nästintill identiska, skillnaden där är att den ena skall bara spara .jpg bilder och den andra .mp3 filer och text från de två input fälten.
Problemet kommer om jag i mp3formuläret väljer en fil som inte är .mp3...

Här är den felfria .jpg uploaden

set upload = Server.CreateObject("Persits.Upload.1")

	upload.setmaxsize Bildbytes, true 'Max storlek på fil är 30kb
	upload.overwritefiles = false
	on error resume next

	upload.save(server.mappath("../upload/nyhet"))

if err.number = 8 then
	response.write "<div id='allt'>"
	response.write "Filen du f&ouml;rs&ouml;kte ladda upp &auml;r mer &auml;n " & Bildbytes/1024 & " kb stor.<br /><br />"
	response.write "<a href='" & request.servervariables("http_referer") & "'>Tillbaka</a><br />"
	response.write "</div>"
elseif not lcase(upload.Files("fil1").imagetype) = "jpg" then
	if upload.Files("fil1") = nothing then
		response.redirect(Filnamn & "?visa=nyhetchange&id=" & request.querystring("id"))
	else
		response.write "<div id='allt'>"
		response.write "Filen du f&ouml;rs&ouml;kte ladda upp &auml;r ingen .jpg fil.<br /><br />"
		response.Write "<a href='" & request.servervariables("http_referer") & "'>Tillbaka</a><br />"
		upload.Files("fil1").delete
		response.write "</div>"
	end if
'Om bilden inte får vara bredare eller högre än *
'elseif upload.Files("fil1").ImageWidth > 150 Then
'      Response.Write "Image width cannot exceed 150 pixels."
'elseif upload.Files("fil1").ImageHeight > 200 Then
'      Response.Write "Image height cannot exceed 200 pixels."
else 
	if err <> 0 then
		response.write "<div id='allt'>"
%>	
		Följande fel inträffade vid uppladdningen:<br /><br />

		<font color='#FF2020'>
			"<% = err.description  & " felnummer: " & err.number %>"
		</font><br /><br />
<%
		response.write "<a href='" & request.servervariables("http_referer") & "'>Tillbaka</a><br />"
		response.write "</div>"
	else
		dim strBild, w, h
		strBild = upload.Files("fil1").filename
		w = upload.Files("fil1").ImageWidth
		h = upload.Files("fil1").ImageHeight
		'set filen = upload.Files("fil1")
		
		'filen.copy("c:\webs\talkactive\wse115922\andyoumaydie.net\upload\nyhet\thumbs\" & filen.filename)

		DB.execute("Update t_nyhet Set bild='" & strBild & "' Where id = "& SafeSQL(clng(request.querystring("id"))))
		
		response.redirect(Filnamn & "?visa=makethumb&id=" & request.querystring("id") & "&pic=" & strBild & "&w=" & w & "&h=" & h)
	end if
end if

och detta är .mp3 uploaden som inte fungerar helt.

set upload2 = Server.CreateObject("Persits.Upload.1")

upload2.setmaxsize 10240000, true 'Max storlek på fil är 10 mb
upload2.overwritefiles = false
on error resume next
	
upload2.save(server.mappath("../upload/latar"))

if err.number = 8 then
	response.write "Filen du f&ouml;rs&ouml;kte ladda upp &auml;r mer &auml;n " & Ljudbytes/1024000 & " mb stor.<br /><br />"
	response.write "<a href='" & request.servervariables("http_referer") & "'>Tillbaka</a><br />"
	response.write "</div>"
elseif not lcase(right(upload2.Files("fil2").filename, 3)) = "mp3" then
	if upload2.Files("fil2") = nothing then
		upload2.Files("fil2").delete
		response.redirect(request.servervariables("http_referer"))
	else
		response.write "<div id='allt'>"
		response.write "Filen du f&ouml;rs&ouml;kte ladda upp &auml;r ingen .mp3 fil.<br /><br />"
		response.Write "<a href='" & request.servervariables("http_referer") & "'>Tillbaka</a><br />"
		upload2.Files("fil2").delete
		response.write "</div>"
	end if
else 
	if err <> 0 then
		response.write "<div id='allt'>"
%>	
		Följande fel inträffade vid uppladdningen:<br /><br />

		<font color='#FF2020'>
			"<% = err.description  & " felnummer: " & err.number %>"
		</font><br /><br />
<%
		response.write "<a href='" & request.servervariables("http_referer") & "'>Tillbaka</a><br />"
		response.write "</div>"
	else
		strFil = laten.filename
		strArtist = SafeSQL(upload2.form("artist"))
		strLat = SafeSQL(upload2.form("lat"))
		
		DB.execute("INSERT INTO t_latar (artist,lat,filnamn,dl ) VALUES('" & strArtist & "','" &  strLat & "','" &  strFil & "','0')")

		response.redirect(Filnamn & "?visa=" & arrSidor(1))
	end if
end if

Problemet, som sagt, uppstår alltså om man väljer en fil som inte är .mp3.
Som jag ser det så är ju då en fil vald alltså borde den här passagen:

elseif not lcase(right(upload2.Files("fil2").filename, 3)) = "mp3" then
	if upload2.Files("fil2") = nothing then
		upload2.Files("fil2").delete
		response.redirect(request.servervariables("http_referer"))
	else
		response.write "<div id='allt'>"
		response.write "Filen du f&ouml;rs&ouml;kte ladda upp &auml;r ingen .mp3 fil.<br /><br />"
		response.Write "<a href='" & request.servervariables("http_referer") & "'>Tillbaka</a><br />"
		upload2.Files("fil2").delete
		response.write "</div>"
	end if

köra else satsen o skriva ut att det här var ingen .mp3 fil, men istället så verkar den tolka if upload2.Files("fil2") = nothing som om det vore sant.

Är det någon som ser problemet är jag mer än tacksam för hjälp.
/Patrik

Medlem sedan juni 200032 967 inlägg
#2

Ta bort on error resume next och se om du får något felmeddelande.

mvh

Medlem sedan dec. 2006608 inlägg
#3

Givetvis... :)
O då dyker följande felmeddelande upp:
Object doesn't support this property or method

Och då blir ju frågan plötsligt, varför inte det?
Borde det inte göra det eftersom det är likadan kod med bara skillnad på filändelsen?

Jag har löst problemet med att byta ut:

if upload2.Files("fil2") = nothing

mot:

if len(upload2.Files("fil2").filename) = 0

Men det ligger där o gnager... :)

Medlem sedan juni 200032 967 inlägg
#4

Det borde vara Is Nothing, inte = nothing.

Mvh

Medlem sedan dec. 2006608 inlägg
#5

Och så lätt var det... :)

Tackar, tackar.

Medlem sedan juni 200032 967 inlägg
#6

Vasse!

Och välkommen till webForum! :bire

Medlem sedan dec. 2006608 inlägg
#7

Tackar för det :bire

287 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
144 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
145 ms — ändringar (db)