Avatar billede stefold Nybegynder
30. juni 2003 - 18:29 Der er 15 kommentarer og
1 løsning

Upload af billede + tekst til database

Hejsa eksperter

Jeg har forgæves forsøgt at kombinere to scripts, der skal gøre det muligt at uploade et billede til et dir, samtidig med at nogle oplysninger gemmes i en database. Det skal bruges til et nyhedssystem. De to scripts virker fint hver for sig, men når jeg koder dem sammen får jeg problemet, at uploadfunktionen slet ikke virker - den skriver altså kun til databasen.

Her er det vigtigste af koden:

if request.form("list1") = "ja" then

    Set Upload = Server.CreateObject("Persits.Upload.1")
   
    Upload.OverWritefiles = false
    Upload.SetMaxSize 10000000, True
    Count = Upload.SaveServer.MapPath("db")

Const adOpenKeyset = 1
Const adLockOptimistic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/1test.mdb") & ";UID=admin;PWD=;"

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From News"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

          rs.AddNew
          rs("forfatter") = Request.form("forfatter")
          rs("Email") = Request.form("email")
          rs("Nyhed") = Request.form("langtekst")
    rs("overskrift") = Request.form("overskrift")
    rs("Dato") = date()
        rs.Update

    rs.Close
    Set rs = Nothing

Conn.Close
set Conn = Nothing


else

Håber der er en eller flere der kan hjælpe.
På forhånd tak
Stefold
Avatar billede eagleeye Praktikant
30. juni 2003 - 18:38 #1
Du skal i stedet for Request.Form bruger nanvet på dit uplod object Upload


          rs("Email") = Upload.form("email")
          rs("Nyhed") = Upload.form("langtekst")
          rs("overskrift") = Upload.form("overskrift")
Avatar billede stefold Nybegynder
30. juni 2003 - 20:55 #2
Det virker ikke...
Problemet ligger helle rikke i at få den stil at skrive til databasen - den vil bare ikek uploade.

kunne du evt. sætte det sammen så det virker????

Stefold
Avatar billede gatez Nybegynder
30. juni 2003 - 21:11 #3
-->Eagleeye:
Når nu du er igang med spørgsmål vedr. billede upload kan du så ikke kigge på den kode du engang lavet til mig ? Takker !!

http://www.eksperten.dk/spm/371051?fullscreen=1
Avatar billede eagleeye Praktikant
30. juni 2003 - 22:14 #4
Prøv at rette dette:

    Set Upload = Server.CreateObject("Persits.Upload.1")
   
    Upload.OverWritefiles = false
    Upload.SetMaxSize 10000000, True
    Count = Upload.SaveServer.MapPath("db")



Til:

    Set Upload = Server.CreateObject("Persits.Upload.1")
   
    Upload.OverWritefiles = false
    Upload.SetMaxSize 10000000, True
    Upload.Upload
    Count = Upload.Save Server.MapPath("db")
Avatar billede stefold Nybegynder
30. juni 2003 - 22:34 #5
Kan altså ikke få det til at virke....

fnktionerne virker da rimelige simple hver for sig...
Avatar billede eagleeye Praktikant
30. juni 2003 - 22:36 #6
Prøv at definere "Kan altså ikke få det til at virke"
Avatar billede stefold Nybegynder
30. juni 2003 - 22:40 #7
Dvs. at nu er der ingenting af de to funktioner der virker, hverken upload af fil eller skriv i databasen. Den opretter godt nok en ny post i database, men ingen data deri.

Skal jeg prøve at pakke mine database + fil sammen i en zip fil og sende til dig?

Stefold
Avatar billede eagleeye Praktikant
30. juni 2003 - 22:43 #8
ja jeg kan ikke teste på min server med ASPupload. Prøv med din kode som dette:


if request.form("list1") = "ja" then

    Set Upload = Server.CreateObject("Persits.Upload.1")
   
    Upload.OverWritefiles = false
    Upload.SetMaxSize 10000000, True
    Count = Upload.SaveServer.MapPath("db")

Const adOpenKeyset = 1
Const adLockOptimistic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/1test.mdb") & ";UID=admin;PWD=;"

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From News"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

          rs.AddNew
          rs("forfatter") = Request.form("forfatter")
          rs("Email") = Request.form("email")
          rs("Nyhed") = Request.form("langtekst")
    rs("overskrift") = Request.form("overskrift")
    rs("Dato") = date()
        rs.Update

    rs.Close
    Set rs = Nothing

Conn.Close
set Conn = Nothing


else
Avatar billede eagleeye Praktikant
30. juni 2003 - 22:43 #9
doh, glem sidste kommentar.
Avatar billede stefold Nybegynder
30. juni 2003 - 22:44 #10
:D
Avatar billede eagleeye Praktikant
30. juni 2003 - 22:44 #11
Prøv med dette:



Set Upload = Server.CreateObject("Persits.Upload.1")
 
Upload.OverWritefiles = false
Upload.SetMaxSize 10000000, True
Count = Upload.SaveServer.MapPath("db")

if Upload.form("list1") = "ja" then

  Const adOpenKeyset = 1
  Const adLockOptimistic = 3

  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/1test.mdb") & ";UID=admin;PWD=;"

  Set rs = Server.CreateObject("ADODB.RecordSet")
  strSQL = "Select * From News"
  rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

  rs.AddNew
  rs("forfatter") = Upload.form("forfatter")
  rs("Email") = Upload.form("email")
  rs("Nyhed") = Upload.form("langtekst")
  rs("overskrift") = Upload.form("overskrift")
  rs("Dato") = date()
  rs.Update
  rs.Close
  Set rs = Nothing

  Conn.Close
  set Conn = Nothing


else
Avatar billede stefold Nybegynder
30. juni 2003 - 22:46 #12
Ville du være i stand til at lave et script der virker? det behøver ikek være med komponent hvis du helst vil uden om det - pointsene skal nok blive forhøjet hvis du er interesseret.

Stefold
Avatar billede eagleeye Praktikant
30. juni 2003 - 22:51 #13
Det passer ikke hvad jeg siger. Jeg har mulighed for at teste det...
Jeg har husket forkert, det er netop ASPupload jeg har på min server.

Har du husket på din form at havde denne med i tagen <form>

enctype="multipart/form-data"
Avatar billede stefold Nybegynder
30. juni 2003 - 22:53 #14
ja det har jeg - skal jeg prøve og sende til dig hvad jeg har?
Det du skrev lige før fører til at jeg får en fejl 500-serverfejl
Avatar billede eagleeye Praktikant
30. juni 2003 - 22:55 #15
Prøv at slå denne fra i IE, så skulle du gerne få en bedre fejl kode/beskrivelse:

funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"
Avatar billede stefold Nybegynder
30. juni 2003 - 23:02 #16
hihi - nu virker det sq.

Jeg havde glemt en parentes i linjen Count = Upload.SaveServer.MapPath("db")
den skulle bare rettes til Count = Upload.Save(Server.MapPath("db"))

Men havde ikke nået dertil uden din hjælp, så du får dine points.

Takker mange gange
Stefold
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