Avatar billede bpedersen Novice
10. december 2002 - 22:11 Der er 23 kommentarer og
1 løsning

ASPSmartUpload upload af billede og gemme sti i DB

Jeg kan godt upload til biblioteket, men har ikke kunnet få den til samtidigt at gemme stien til billedet i DB.
Kan I hjælpe med koden til dette?

Det skal lige siges at jeg først er begyndt at snuse til ASP fornylig. :o)

De filer jeg bruger er:

Upload.htm
<HTML>
<BODY BGCOLOR="white">

<H1>AspSmartUpload eksempel</H1>
<HR>

<form method="POST" ACTION="upload.asp" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
<INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>

</BODY>
</HTML>

---------------
upload.asp
<HTML>
<BODY BGCOLOR="white">

<H1>AspSmartUpload eksempel</H1>
<HR>

<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim intCount
       
'  Object creation
'  ***************
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
mySmartUpload.Upload

'  Save the files with their original names in a virtual path of the web server
intCount = mySmartUpload.Save("/log")

Response.Write(intCount & " file(r) uploaded.")
%>
</BODY>
</HTML>
Avatar billede mrs Nybegynder
10. december 2002 - 22:27 #1
'Tilføjer brugeren til databasen
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from (database)"
    rs.Open strsql, conn, 1, 3
   
'Tilføjer brugeren til databasen og sender ham/hende til login siden
    rs.AddNew
    rs("Overskrift") = mySmartUpload.Form("Overskrift")
    rs("Teaser") = mySmartUpload.Form("Teaser")
    rs("Url") = newFileName
    rs("Dato") = Now()
    rs.update
Avatar billede bpedersen Novice
10. december 2002 - 22:42 #2
Det jeg skal bruge er en formular der gør følgende:

Opretter post i DB med følgende kolonner:
købsalgbytte
kategori
overskrift
beskrivelse
pris
email
telefon
postnr
sti (til billedet)

Hvordan flettes ASPsmartUpload formularen sammen med følgende kode:

<HTML>
<head>
<title>Køb Salg Bytte</title>
</head>
<body>
<font face="verdana" size="2">Indtast dit indlæg</font><br>
<font face="verdana" size="2">Indlægget bliver automatisk slettet efter 30 dage.</font><br>

<form method="post" action="GM-indsaet.asp">

<font face="verdana" size="2">
<select size="1" name="KøbSalgBytte">
    <option selected="selected">Sælges</option>
    <option>Købes</option>
    <option>Byttes</option>
</select></font><br><p>

<font face="verdana" size="2">
<select size="1" name="Kategori">
    <option selected="selected">Golfsæt</option>
    <option>Køller</option>
    <option>Jern</option>
    <option>Puttere</option>
    <option>Wedges</option>
    <option>Bags</option>
    <option>Diverse</option>
</select></font><br><p>

<font face="verdana" size="2" >Overskrift</font><br>
<input type="text" size="40" name="Overskrift"  ><br>

<font face="verdana" size="2">Beskrivelse</font><br>
<textarea name="Beskrivelse" rows="8" cols="30">
</textarea><br>



<font face="verdana" size="2">Pris</font><br>
<input type="number" name="Pris" ><br>

<font face="verdana" size="2">Emailadresse</font><br>
<input type="date" size="40" name="Emailadresse"><br>

<font face="verdana" size="2">Telefonnummer</font><br>
<input type="date" name="Telefonnummer"><br>

<font face="verdana" size="2">Postnummer</font><br>
<input type="date" name="Postnummer"><br>


<font face="verdana" size="2">Sti til billede</font><br>
<input type="date" name="path"><br>

<input type="submit" value="Send"><input type="reset" value="Slet alt">


</form>


</body>
</html>
Avatar billede bpedersen Novice
10. december 2002 - 22:42 #3
Og samtidigt skal billedet selvfølgelig uploades.
Avatar billede roadi Nybegynder
10. december 2002 - 22:46 #4
Start med at lave den alm. formular, når den så er lavet i db, kan videresede til uplad billede formularen, få den til at uppe åbne db'en igen og derefter skrive stien og lukke db'en efter sig.

Jeg har lavet det på tidspunkt, jeg kan bare ikke lige finde sourcen nu, jeg kan lige prøve og lede lidt efter dne.
Avatar billede bpedersen Novice
10. december 2002 - 22:54 #5
roadi> det vil være kanon, hvis du kan finde koden, for jeg har ikke helt styr på ASP endnu. Kan godt følge din forklaring, men at lave det er noget helt andet. :-)
Avatar billede roadi Nybegynder
10. december 2002 - 23:02 #6
Ja, det er klart..

er der kun ASPsmartupload på serveren og ingen andre upload komponenter?
Avatar billede bpedersen Novice
10. december 2002 - 23:08 #7
Ja, der er kun ASPSmartUpload.
Avatar billede mrs Nybegynder
11. december 2002 - 08:53 #8
Husk det her i din form: ENCTYPE="multipart/form-data"


<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim intCount
       
'  Object creation
'  ***************
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
mySmartUpload.Upload

'Tilføjer brugeren til databasen
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from (database)"
    rs.Open strsql, conn, 1, 3
   
'Tilføjer brugeren til databasen og sender ham/hende til login siden
    rs.AddNew
    rs("købsalgbytte") = mySmartUpload.Form("købsalgbytte")
    rs("kategori") = mySmartUpload.Form("kategori")
    rs("overskrift") = mySmartUpload.Form("overskrift")
    rs("beskrivelse") = mySmartUpload.Form("beskrivelse")
    rs("pris") = mySmartUpload.Form("pris")
    rs("email") = mySmartUpload.Form("email")
    rs("telefon") = mySmartUpload.Form("telefon")
    rs("postnr") = mySmartUpload.Form("postnr")
    rs("sti") = FileName
    rs.update

'  Save the files with their original names in a virtual path of the web server
intCount = mySmartUpload.Save("/log")

Response.Write(intCount & " file(r) uploaded.")
%>
Avatar billede mrs Nybegynder
11. december 2002 - 08:56 #9
Der er nok smartest ikke at bruge æ, ø og å. Der er lige en ting mere, i din form står navnene på felterne med stort begyndelses bogstav, samt de hedder noget andet end jeg har skrevet i mySmartUpload.Form(""), det skal du rette til. asp delen skal så være i filen GM-indsaet.asp
Avatar billede bpedersen Novice
11. december 2002 - 09:09 #10
mrs> jeg prøver lige at teste det iaften. tak indtil videre. :-)
Avatar billede bpedersen Novice
11. december 2002 - 21:44 #11
mrs> har rodet med det en times tid, men kan ikke finde ud af det. Her er gm-indsaet.asp, vil du ikke være behjælpelig med at rette den til?

<html>
<title>Indsætte data i databasen</title>
<head>
</head>
<body>
<h3>Databasen er opdateret</h3>
<a href="default.asp">Tilbage til forsiden</a>
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/ASP/gmdb.mdb")
Conn.Open DSN

' SQL sætning opbygges
strSQL = "INSERT INTO DBGM (Dato, KøbSalgBytte, Kategori, Overskrift, Beskrivelse, Pris, Emailadresse, Telefonnummer, path) VALUES('" & Date & "' , '" & Request.Form("KøbSalgBytte") & "', '" & Request.Form("Kategori") & "', '" & Request.Form("Overskrift") & "', '" & Request.Form("Beskrivelse") & "', '" & Request.Form("Pris") & "', '" & Request.Form("Emailadresse") & "', '" & Request.Form("Telefonnummer") & "', '" & Request.Form("path") & "')"

' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>

</body>
</html>
Avatar billede mrs Nybegynder
12. december 2002 - 14:47 #12
Du kan ikke bruge request.form når du uploader med Aspsmartupload.
Samtidig mangler du aspsmartupload, så du kan gemme billedet på serveren.

Husk det her i din form: ENCTYPE="multipart/form-data"


<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim file
  Dim intCount
  intCount=0
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  mySmartUpload.Upload


'  Select each file
'  ****************
  For each file In mySmartUpload.Files
  '  Only if the file exist
  '  **********************
      If not file.IsMissing Then
      '  Save the files with his original names in a virtual path of the web server
      '  ****************************************************************************
       
        'file.SaveAs("/../Billeder" & file.FileName)
        ' sample with a physical path
        file.SaveAs("e:\Billeder\" & file.FileName)

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/ASP/gmdb.mdb")
Conn.Open DSN

'Tilføjer brugeren til databasen
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from DBGM"
    rs.Open strsql, conn, 1, 3

'Tilføjer brugeren til databasen og sender ham/hende til login siden
    rs.AddNew
    rs("købsalgbytte") = mySmartUpload.Form("købsalgbytte")
    rs("kategori") = mySmartUpload.Form("kategori")
    rs("overskrift") = mySmartUpload.Form("overskrift")
    rs("beskrivelse") = mySmartUpload.Form("beskrivelse")
    rs("pris") = mySmartUpload.Form("pris")
    rs("email") = mySmartUpload.Form("email")
    rs("telefon") = mySmartUpload.Form("telefon")
    rs("postnr") = mySmartUpload.Form("postnr")
    rs("sti") = FileName
    rs.update

        intCount = intCount + 1

End If
'  Display the number of files which could be uploaded
'  ***************************************************
  Response.Write("<BR>" & mySmartUpload.Files.Count & " file(r) kunne blive uploaded.<BR>")

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(r) uploaded.<BR>")
Next
%>
Avatar billede mrs Nybegynder
12. december 2002 - 14:49 #13
Prøv det.
Dette skal stå i din form: <form method="post" action="GM-indsaet.asp" ENCTYPE="multipart/form-data">
Ellers vil den ikke uploade billedet.
Husk at rette informationerne til i mySmartUpload.Form("xxx") så de passer med der står i name i din form.
Avatar billede bpedersen Novice
12. december 2002 - 14:56 #14
mrs> Det fand.. dejligt at der findes nogen som dig, der gider spilde til på os der gerne vil lære ASP. Men som helst skal se koden for at kunne fatte det. Jeg tester det lige iaften. Og vender tilbage med svar :-)
Avatar billede bpedersen Novice
12. december 2002 - 14:56 #15
til = tid :o)
Avatar billede bpedersen Novice
12. december 2002 - 22:33 #16
Jeg får følgende fejl:

Databasen er opdateret
Tilbage til forsiden
aspSmartUpload.File error '80040460'

Unable to save file (Error 1120)

/test/gm-indsaet.asp, line 36


''''''''''''''''''''
Filerne er nu som følger:

default.asp:

<HTML>
<head>
<title>Køb Salg Bytte</title>
</head>
<body>
<font face="verdana" size="2">Indtast dit indlæg</font><br>
<font face="verdana" size="2">Indlægget bliver automatisk slettet efter 30 dage.</font><br>

<form method="post" action="gm-indsaet.asp" ENCTYPE="multipart/form-data">

<font face="verdana" size="2">
<select size="1" name="købSalgBytte">
    <option selected="selected">Sælges</option>
    <option>Købes</option>
    <option>Byttes</option>
</select></font><br><p>

<font face="verdana" size="2">
<select size="1" name="kategori">
    <option selected="selected">Golfsæt</option>
    <option>Køller</option>
    <option>Jern</option>
    <option>Puttere</option>
    <option>Wedges</option>
    <option>Bags</option>
    <option>Diverse</option>
</select></font><br><p>

<font face="verdana" size="2" >Overskrift</font><br>
<input type="text" size="40" name="overskrift"  ><br>

<font face="verdana" size="2">Beskrivelse</font><br>
<textarea name="beskrivelse" rows="8" cols="30">
</textarea><br>



<font face="verdana" size="2">Pris</font><br>
<input type="number" name="pris" ><br>

<font face="verdana" size="2">Emailadresse</font><br>
<input type="date" size="40" name="emailadresse"><br>

<font face="verdana" size="2">Telefonnummer</font><br>
<input type="date" name="telefonnummer"><br>

<font face="verdana" size="2">Postnummer</font><br>
<input type="date" name="postnummer"><br>

<font face="verdana" size="2">By</font><br>
<input type="date" name="by"><br>

<font face="verdana" size="2">Password</font><br>
<input type="date" name="password"><br>

<font face="verdana" size="2">billede</font><br>
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><br>

<input type="submit" value="Send"><input type="reset" value="Slet alt">


</form>


</body>
</html>

***************
gm-indsaet.asp


<html>
<title>Indsætte data i databasen</title>
<head>
</head>
<body>
<h3>Databasen er opdateret</h3>
<a href="default.asp">Tilbage til forsiden</a>

<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim file
  Dim intCount
  intCount=0
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  mySmartUpload.Upload


'  Select each file
'  ****************
  For each file In mySmartUpload.Files
  '  Only if the file exist
  '  **********************
      If not file.IsMissing Then
      '  Save the files with his original names in a virtual path of the web server
      '  ****************************************************************************
       
        file.SaveAs("/log" & file.FileName)
        ' sample with a physical path
        'file.SaveAs("e:\Billeder\" & file.FileName)

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/log/gmdb.mdb")
Conn.Open DSN

'Tilføjer brugeren til databasen
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from DBGM"
    rs.Open strsql, conn, 1, 3

'Tilføjer brugeren til databasen og sender ham/hende til login siden
    rs.AddNew
    rs("købsalgbytte") = mySmartUpload.Form("købsalgbytte")
    rs("kategori") = mySmartUpload.Form("kategori")
    rs("overskrift") = mySmartUpload.Form("overskrift")
    rs("beskrivelse") = mySmartUpload.Form("beskrivelse")
    rs("pris") = mySmartUpload.Form("pris")
    rs("emailadresse") = mySmartUpload.Form("emailadresse")
    rs("telefonnummer") = mySmartUpload.Form("telefonnummer")
    rs("postnummer") = mySmartUpload.Form("postnummer")
    rs("by") = mySmartUpload.Form("by")
    rs("password") = mySmartUpload.Form("password")
    rs("FILE1") = FileName
    rs.update

        intCount = intCount + 1

End If
'  Display the number of files which could be uploaded
'  ***************************************************
  Response.Write("<BR>" & mySmartUpload.Files.Count & " file(r) kunne blive uploaded.<BR>")

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(r) uploaded.<BR>")
Next
%>
</body>
</html>

****************

filerne ligger på serveren som følger:

default.asp  =  /test
gm-indsaet.asp  = /test
DB = /log

HVAD har jeg lavet forkert?
Avatar billede mrs Nybegynder
13. december 2002 - 14:50 #17
Har du rettigheder til gemme billederne på denne sti:
file.SaveAs("/log" & file.FileName)

Jeg gætter på det er det. Det smarteste er nok at ligge billederne i en seperat mappe.
Hvis det er på et webhotel skal du ringe/skrive til dem, og be og at give dig rettigheder til at gemme i pågældende mappe.
Avatar billede mrs Nybegynder
13. december 2002 - 14:52 #18
Er der blevet gemt noget i databasen???
Avatar billede bpedersen Novice
13. december 2002 - 15:00 #19
Der er skrive adgang til /log - jeg har andre DB der ligger der og der kan fint skrives dertil. Der er ikke blevet gemt noget i DB. Hvilken datatype skal kolonnen FILE1 have i DB?
Avatar billede bpedersen Novice
13. december 2002 - 22:25 #20
mrs> jeg har nu fået skidtet til at virke, ihvertfald delvis.. Det der nu er problemet er at selve filnavnet ikke bliver skrevet i DB feltet er tomt. Men filerne bliver godtnok lagt i det rette bibliotek.
Avatar billede mrs Nybegynder
15. december 2002 - 13:15 #21
Dit felt FILE1 skal bare være et tekst felt.
Den skal kun skrive filnavnet til billedet i databasen.
Prøv det her rs("FILE1") = file.FileName

Ellers kan du se mere på denne side www.aspsmart.com
Avatar billede bpedersen Novice
15. december 2002 - 20:29 #22
mrs> Så var den der... Du skal lige lave et svar så du kan få dine point. Tusind tak for hjælpen.
Avatar billede mrs Nybegynder
16. december 2002 - 18:47 #23
Selv tak...
Avatar billede bjawnie Nybegynder
07. april 2003 - 20:29 #24
>> Mrs: Du kan ikke bruge request.form når du uploader med Aspsmartupload.

Hvis der er nogen der er i tvivl, så kan man godt bruge request.form på sammen tid man bruger Aspsmartupload!
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