detta är andra gången jag skriver om detta problemet... skickar med koden denna gången...
som det fungerar nu, så går det att ladda upp en bild..
oavsett vad bilden heter, så döps den till det namn man e inloggad som + att den lägger en kopia på bilden.. och det namnet är orginal namnet... från hårdisken.
problemet är... den uppdaterar INTE databasen... vid registrering så får man automatiskt en default.jpg bild...
den ska nu ändras till det namnet (id) som man är inloggad som...
-----------------------------
<!-- LADDA UPP BILD -->
<% IF Request.Querystring("do") = "bild" THEN
Set Upload = Server.CreateObject("Persits.Upload.1")
On Error Resume Next
Upload.OverwriteFiles = True
Upload.Save "C:/Inetpub/wwwroot/images/users"
NewName = Session("username")
If Err.Number = 8 Then
Session("message") = "Tyvärr så är bilden är större än tillåtet"
Response.Redirect "change_picture.asp?id=" &Request.Querystring("id")
Else
If Err <> 0 Then
Session("message") = "Ett fel uppstod, var god försök igen."
Response.Redirect "change_picture.asp?id=" &Request.Querystring("id")
Else
Session("message") = "Din bild är uppladdad"
End If
End If
Set File = Upload.Files("File")
For Each File in Upload.Files
IF File.ImageType <> "JPG" Then
Session("message") = "Du kan bara ladda upp .jpg bilder"
File.Delete
Response.End
END IF
File.Copy "C:/Inetpub/wwwroot/images/users/" & NewName & File.ext
File.Delete
Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/members.mdb")&";password=losen"
SQL = "SELECT * FROM members"
set RS = Connection.Execute(SQL)
SQL = "UPDATE members Set pressbild = '"&NewName&File.ext&"' where id ="&Request.Querystring("id")
Connection.Execute(SQL)
Session("message") = "Din bild är uppladdad"
Response.Redirect "front.asp"
next
END IF%>
Om du gör om raden "For Each File In Upload.Files" till "For Each strFile In Upload.Files" och gör om koden efter detta, eftersom annars både variabeln File i For-loopen och objektinstansen får samma namn (File).
Du kör File.Delete sen vill du komma åt File senare i din kod. Lägg namnet i en variabel först eller kör delete senare.
Det är meningen att du ska ha två bilder till slut? Orgina lsamt kopia?
Vidare ser jag inga nackdelar med att skriva med lite luft i koden, typ:
Om du kommenterar bort File.Delete så borde du inte få felmeddelandet Åtkomst nekad, och då borde koden komma ner till uppdateringen av databasen. Möjligen kommer där ett nytt felmeddelande?
Och en fråga; vad använder du det här till:
SQL = "SELECT * FROM members"
set RS = Connection.Execute(SQL)
Om du kommenterar bort File.Delete så borde du inte få felmeddelandet Åtkomst nekad, och då borde koden komma ner till uppdateringen av databasen. Möjligen kommer där ett nytt felmeddelande?
Hur gick det med detta? Fortfarande utan on error resume next i koden.
<input type="file" name="file" size="51">
<input name="submit" type="submit" value="ladda upp bilden">
</form>
------------------------------------------------------------------<!-- LADDA UPP BILD -->
<% IF Request.Querystring("do") = "bild" THEN
Set Upload = Server.CreateObject("Persits.Upload.1")
On Error Resume Next
Upload.OverwriteFiles = True
Upload.Save "C:/Inetpub/wwwroot/images/users"
NewName = Session("username")
If Err.Number = 8 Then
Session("message") = "Tyvärr så är bilden är större än tillåtet"
Response.Redirect "change_picture.asp?id=" &Request.Querystring("id")
Else
If Err <> 0 Then
Session("message") = "Ett fel uppstod, var god försök igen."
Response.Redirect "change_picture.asp?id=" &Request.Querystring("id")
Else
Session("message") = "Din bild är uppladdad"
End If
End If
Set File = Upload.Files("File")
For Each File In Upload.Files
IF File.ImageType <> "JPG" Then
Session("message") = "Du kan bara ladda upp .jpg bilder"
File.Delete
Response.End
END IF
File.Copy "C:/Inetpub/wwwroot/images/users/" & NewName & File.ext
File.Delete
Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/members.mdb")&";password=losen"
SQL = "UPDATE members Set pressbild = '"&NewName&File.ext&"' where id ="&Request.Querystring("ID")
Connection.Execute(SQL)
Session("message") = "Din bild är uppladdad"
Response.Redirect "front.asp"
Next
END IF%>
384 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91