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örsökte ladda upp är mer ä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örsökte ladda upp ä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örsökte ladda upp är mer ä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örsökte ladda upp ä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örsökte ladda upp ä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

