Avatar billede ivildrede Nybegynder
05. august 2002 - 14:13 Der er 8 kommentarer og
1 løsning

Aspupload ?

Hej,

Hvordan får jeg aspupload til at lægge et billede ind på et bestemt id, i min database ?

Jeg bruger dette standard script:

    ' stien til mappen hvor i billeder skal gemmes
    Upload.Save "d:\web\jeppe.dk\www\produktfotos"

    ' Obtain file object
    Set File = Upload.Files("THEFILE")
        'For Each File in Upload.Files
If File.ImageType = "GIF" or File.ImageType = "PNG" Then
      Response.Write "<h2>Dette billede er ikke i jpg/jepg. format</h2>"
      Response.Write "<p><a href=java script:history.back()>Tilbage</a></p>"
      File.Delete
      Response.End
end if


   
    ' fejl 8 er fil størrelsen
If Err.Number = 8 Then
  Response.Write "<h2>Billedet du vil uploade er for stort, prøv med et mindre.</h2>"
Else
  If Err <> 0 Then
      Response.Write "Der er opstået en fejl: " & Err.Description
      Response.Write "<p><a href=java script:history.back()>Tilbage</a></p>"
  Else
   
    Response.Write "<h2> Billedet er uploadet !</h2>"
    Response.Write "<p><a href=java script:history.back()>Tilbage</a></p>"
  End If
End If

   
    If Not File Is Nothing Then
        ' Build ODBC connection string
        Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("home.mdb")


   
   

            ' Build SQL INSERT statement
        SQL = "INSERT INTO produktfotos(image_blob, filename, description, filesize) VALUES(?, '"
        SQL = SQL & File.Filename & "', '"
        SQL = SQL & Replace(Upload.Form("DESCR"), "'", "''") & "', "
        SQL = SQL & File.Size & ")"

        ' Gem i databasen
        File.ToDatabase Connect, SQL
       
       

   
       
   
Set Conn = Nothing
end if
   

    Response.redirect "test_pic.asp"

%>
Avatar billede eagleeye Praktikant
05. august 2002 - 14:55 #1
Du kan ikke bestemme hvilket ID den nye record får....eller tænker du på at lave en UPDATE???
Avatar billede ivildrede Nybegynder
05. august 2002 - 15:02 #2
Hej eagleeye

Ja forløbet er som følger, brugeren opretter en vare når varen er oprettet bliver brugeren spurgt om han vil tilføje et billede, hvis nej, jaaa så slutter det der ellers sender jeg den nye vare's id til upload formen men derfra aner jeg ikke videre ?

Dog er jeg klar over at det skal være en update
/ivildrede
Avatar billede eagleeye Praktikant
05. august 2002 - 15:13 #3
Så ID er i formen i et felt.... Er det samme tabel hvor varne er i og den som billedet er i???

Billederne bliver lagt i tabellen  produktfotos  så vidt jeg kan se.. Så er det en ekstra kolonne i produktfotos du ønsker så du kan linket VareID til et billede ?
Avatar billede ivildrede Nybegynder
05. august 2002 - 15:20 #4
Id'et er i et hidden tag.

Se bort fra den tabelen produktfotos, jeg har lavet det om så billedet skal i samme tabel som varen, varekatalog. (synes jeg er lidt nemmere når varen skal slettes igen)
Avatar billede slamsuger Nybegynder
05. august 2002 - 17:06 #5
1) Du skal rette i den HTML <FORM> som brugeren uploader fra, og her lave et skjult HTML felt (hidden) som indeholder det database ID som billedet skal gemmes under. Er der flere billeder kan du kalde dem ID1,,,ID2 (ligesom med file1 file2 osv)
Eks.: <INPUT Name="ID1" Value="12345" Type="Hidden">
ID er her 12345 og er det ID som billedet skal gemmes under i DB

2) i det ASP modul hvor du behandler formen - henter du ID'et ud igen og så bruge det til at gemme i databasen, dvs i den line hvor du bygger sin SQL sætning . Noget a la

strID = Upload.Form("ID1"),
...

SQL = "INSERT INTO produktfotos(ID,image_blob, filename, description, filesize) VALUES(" &strID &",...

Hvor strID som er hentet fra HTML Formen
Avatar billede ivildrede Nybegynder
05. august 2002 - 18:20 #6
det skal i tabellen "varekatalog" i den samme record som varen, så det er det jeg ikke finde ud af.
Avatar billede eagleeye Praktikant
05. august 2002 - 18:25 #7
Du skal bruge UPDATE sådn her:


strID = Upload.Form("ID")  'Den ID fra formen

Din SQL:

SQL = "UPDATE varekatalog SET image_blob = ?, filename = '" & File.Filename & "', description = '" & Replace(Upload.Form("DESCR"), "'", "''") & "',  filesize = " & File.Size & " WHERE ID = " & strID

'Så ved hjælp af din connection opdatere databsen.
Connect.execute (SQL)
Avatar billede eagleeye Praktikant
05. august 2002 - 18:26 #8
Du kan så udelage image_blob = ?, hvis du afligevel ikke ligger andet i end ?
Avatar billede ivildrede Nybegynder
05. august 2002 - 18:51 #9
Jeg si'r tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester