C corona Medlem sedan feb. 2004 70 inlägg Frågan 29 nov. 2005 10:56 #1 Hej!
Jag har ett problem när jag ska ladda upp två bilder (låg- resp. högupplöst) till en bildbank. Vad som händer är att bild nr.2 (tryck) skriver över bild nr.1 (webb). Vet inte vad för fel jag gör i min kod, men blir glad om någon kan titta och säga vad som är fel.
Det skapas två bildfiler men båda är bild nr.2.
Mitt formulär:
<form method="post" enctype="multipart/form-data" action="laggtill_steg3.asp">
<input type="hidden" name="id" value="<%=IDbild%>">
<table border="0" cellpadding="2" cellspacing="0" width="96%" class="sidor">
<tr>
<td class="adminrubrik" width="20%">
Lågupplöst (webb)</td>
<td class="adminrubrik">
<input type="file" name="bildwebb" size="20" style="width:350px"></td>
</tr>
<tr>
<td class="adminrubrik" width="20%">
Högupplöst (tryck)</td>
<td class="adminrubrik">
<input type="file" name="bildtryck" size="20" style="width:350px"></td>
</tr></table>
</form>
Min kod:
Set upload = Server.CreateObject("Persits.Upload.1")
intCount = Upload.Save
actualName = upload.Form("id")
Session("ID") = actualName
if intCount = 0 then
' inga filer
response.redirect "laggtill_steg2.asp?Fil=Fel&ID=" & actualName
end if
' Ladda in bild för webb
Set File = upload.Form("bildwebb")
For Each File in Upload.Files
If File.ImageType <> "GIF" and File.ImageType <> "JPG" Then
Response.Redirect "laggtill_steg2.asp?Bild=Typ&ID=" & actualName
Exit For
End If
extension="." & LCase(File.Imagetype)
FileName = actualName & "_webb" & extension
FileWidth = File.ImageWidth
FileHeight = File.ImageHeight
File.SaveAs "c:\inetpub\wwwroot\BILDBANK\bilder\" & actualName & "_webb" & File.ext
Next
' Ladda in bild för tryck
Set File2 = upload.Form("bildtryck")
For Each File2 in Upload.Files
If File2.ImageType <> "GIF" and File2.ImageType <> "JPG" Then
Response.Redirect "laggtill_steg2.asp?Bild=Typ&ID=" & actualName
Exit For
End If
extension="." & LCase(File2.Imagetype)
FileName2 = actualName & "_tryck" & extension
FileWidth2 = File2.ImageWidth
FileHeight2 = File2.ImageHeight
File2.SaveAs "c:\inetpub\wwwroot\BILDBANK\bilder\" & actualName & "_tryck" & File2.ext
Next
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM Bilder WHERE ID = " & actualName & ""
RecSet.Open Addera, DB, adOpenStatic, adLockOptimistic
RecSet("BildWebb") = FileName
RecSet("BildWebbWidth") = FileWidth
RecSet("BildWebbHeight") = FileHeight
RecSet("BildTryck") = FileName2
RecSet("BildTryckWidth") = FileWidth2
RecSet("BildTryckHeight") = FileHeight2
RecSet.Update
RecSet.Close
Set RecSet = Nothing
//Annette
J.N. Medlem sedan apr. 2003 1 660 inlägg HEJ!
Tycker det ser rätt ut, du har olika fält, du skapar två objekt och filnamn. :)
Varför gör du For Each File2 in Upload.Files; det finns väl endast en? Tror dock inte att detta gör felet du har, för att lösa det råder jag dig till att kontrollera att du verkligen kör båda .Save osv.
E Eclipse Medlem sedan juli 2000 3 825 inlägg Addera = "SELECT * FROM Bilder WHERE ID = " & actualName & ""
Du verkar ha ett rätt rörigt upplägg...
Ett ID kan ju inte vara ett namn! Det är ju en siffra som är unik för varje bild.