Avatar billede Slettet bruger
25. juni 2006 - 23:09 Der er 22 kommentarer og
1 løsning

Upload system i med database

Hej.

Hvis vi siger jeg har en database kode. Og der har vi et felt der hedder Picture. Og i det felt skal der komme et billed. Vi har en mappe der hedder Upload. Og vi har en side der hedder upload.asp. I upload.asp skal der være en kode som uploader billede filer i upload og som så også sætte vores database til at blive linket til billedet. Så hvis man skriver rs("Picture") kommer der et billed frem:)

Har kun nok til 100 point
Avatar billede Slettet bruger
26. juni 2006 - 00:42 #1
- ja, men det kan vi sagtens sige, og dette kan sagtens lade sig gøre...

men hvilken upload-komponent bruger du?

\Dan
Avatar billede Slettet bruger
26. juni 2006 - 10:01 #2
Hvad betyder det?
Avatar billede fennec Nybegynder
26. juni 2006 - 10:17 #3
Når man uploader bruger man gerne et komponent, da det gør det nemmere. Det kunne f.eks være ASPUpload eller ASPSmartUpload.
Avatar billede Slettet bruger
26. juni 2006 - 11:06 #4
Jeg bruger ikke noget jeg skal bruge en upload kode som uploader til access
Avatar billede fennec Nybegynder
26. juni 2006 - 12:47 #5
Er det din egen server (så hent ASPSmartUpload som er gratis) eller en udbyders (tjek hvilke komponenter der tilgængelige)??

Vi kan ikke give dig en kode inden Upload komponenten er på plads, da koden variere fra komponent til komponent. Og skal det være uden komponent (indviklet) er det en helt 3. kode vi er ude i.
Avatar billede Slettet bruger
26. juni 2006 - 13:02 #6
Bruger web10.dk

Nedenstående komponenter er installeret på alle windowsserverne.

Components:
AspUpload3.0.0.3
AspSmartUpload 3.x
AspImage 2.x
W3 Jmail4.4
MyODBC-3.51.06
ODBC.NET

SP:
Jet Sp8
MDAC 2.8

Kode eksempler kan ses på http://taxx.talkactive.net/poc, er du f.eks. på serveren ta15 kan du se eksempler på http://ta15.talkactive.net/poc
Avatar billede fennec Nybegynder
26. juni 2006 - 15:30 #7
Noget i denne stil:
<%

mode = Request.querystring("mode")

if mode = "save" then
  Set Upload = Server.CreateObject("Persits.Upload.1")
  Upload.OverwriteFiles = False
  Upload.SetMaxSize 1048576
  Upload.Save(Server.MapPath("/uploadMappe"))
  For Each File in Upload.Files
    conn.execute("insert into dinTabel(filNavn) values('"& file.ExtractFileName &"')")
  next
  response.redirect("denneSide.asp")
end if

%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <title>Untitled</title>
</head>
<body>
<FORM NAME="MyForm" METHOD="POST" ENCTYPE="multipart/form-data" ACTION="dennside.asp?mode=save">
<INPUT TYPE=FILE SIZE=40 NAME="FILE1"><BR>
<INPUT TYPE=SUBMIT VALUE="Upload">
</FORM>
</body>
</html>
Avatar billede no_doubt Nybegynder
26. juni 2006 - 15:32 #8
msn: mark.mikkelsen@mail.dk
Avatar billede fennec Nybegynder
26. juni 2006 - 15:54 #9
no_doubt >>
For det først er det ikke smart at skrive sin mailadr på et forum uden at sløre den (f.eks. fjerne @). Der findes "fisher" programmer som gennemløber forums og samler dem op, også havner du på en spamliste...

For det andet er der disse regler på E:
§2.1.12: Det er ikke tilladt at tildele point for en løsning, der ikke er tilgængelig for alle Eksperten.dk’s brugere
§2.1.13: Det er ikke tilladt at tildele point for en opgave løst uden om Eksperten.dk (f.eks. opgaver løst via mail, ICQ eller telefon)

Bare så du ved det :o)
Avatar billede Slettet bruger
26. juni 2006 - 16:57 #10
Koden virker ikke....
Avatar billede Slettet bruger
26. juni 2006 - 16:58 #11
Og lige en ting til. Der står ikke noget omhvor filen skal gemmes???
Avatar billede Slettet bruger
26. juni 2006 - 17:18 #12
OK! Hvilken fejl får du?
- prøv med denne tilføjelse i stedet...:
<%

mode = Request.querystring("mode")

if mode = "save" then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("DinDatabase")
  Set Upload = Server.CreateObject("Persits.Upload.1")
  Upload.OverwriteFiles = False
  Upload.SetMaxSize 1048576
  Upload.Save(Server.MapPath("/uploadMappe"))
  For Each File in Upload.Files
    Conn.execute("insert into dinTabel(filNavn) values('"& file.ExtractFileName &"')")
  next
Conn.close
set Conn=nothing
  response.redirect("denneSide.asp")
end if

%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <title>Untitled</title>
</head>
<body>
<FORM NAME="MyForm" METHOD="POST" ENCTYPE="multipart/form-data" ACTION="dennside.asp?mode=save">
<INPUT TYPE=FILE SIZE=40 NAME="FILE1"><BR>
<INPUT TYPE=SUBMIT VALUE="Upload">
</FORM>
</body>
</html>

- og jo! Denne her linie "Upload.Save(Server.MapPath("/uploadMappe"))" angiver hvor filen skal gemmes...
- men her er der en database-connection med som er nødvendig for at vi kan gemme noget i en database... her skal du så også lige angive den korrekte sti til databasen...

\Dan
Avatar billede Slettet bruger
26. juni 2006 - 17:19 #13
Prøv i øvrigt også at rette:
<FORM NAME="MyForm" METHOD="POST" ENCTYPE="multipart/form-data" ACTION="dennside.asp?mode=save">
til:
<FORM NAME="MyForm" METHOD="POST" ENCTYPE="multipart/form-data" ACTION="<%=request.servervariables("script_name")%>?mode=save">


\Dan
Avatar billede Slettet bruger
26. juni 2006 - 18:57 #14
Ok. Nu uploader den i databasen. Altså fil navn'et. MEN den uploader ikke noget til mappen upload
Avatar billede no_doubt Nybegynder
26. juni 2006 - 18:58 #15
ok
Avatar billede Slettet bruger
26. juni 2006 - 19:09 #16
- og du har rettet denne her linie:
Upload.Save(Server.MapPath("/uploadMappe"))
til den sti der skal uploades til?
- for hvis mappen du vil uploade til hedder "upload" så skal der ikke stå "uploadMappe"...

\Dan
Avatar billede Slettet bruger
26. juni 2006 - 19:22 #17
Virker. Det er fordi det var i en mappe altså upload.asp var en i mappe og upload var i samme mappe så jeg skulle bare fjerne /
Avatar billede Slettet bruger
26. juni 2006 - 19:45 #18
Men...

Så til hvordan gør man så at den bliver oprettet ved en database(Nyhedsysyem)? Har prøvet.

<%
if request.querystring("action") = "Sendt" then
' 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 ("Mew.mdb")
Conn.Open DSN

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("Mew.mdb")
  Set Upload = Server.CreateObject("Persits.Upload.1")
  Upload.OverwriteFiles = False
  Upload.SetMaxSize 1048576
  Upload.Save(Server.MapPath("upload"))
  For Each File in Upload.Files
    Conn.execute("insert into Nyheder(filNavn) values('"& file.ExtractFileName &"')")
  next
Conn.close
set Conn=nothing
  response.redirect("upload.asp")
end if

strSQL = "INSERT INTO Nyheder (Overskrift, Nyhed, Dato, Tid) values('" & request.form("Overskrift") & "', '" & request.form("Nyhed") & "', '" & Date() & "', '" & Time() & "')"
Conn.Execute(strSQL)

%>
Avatar billede Slettet bruger
26. juni 2006 - 20:34 #19
hmm... jeg forstår ikke helt hvad det er du mener med dette her?
- hvad er det du vil med ovenstående script?

\Dan
Avatar billede Slettet bruger
26. juni 2006 - 20:51 #20
Oprette en nyhed. Hvor man så opretter et billed så der er et billed til nyheden
Avatar billede Slettet bruger
26. juni 2006 - 23:58 #21
OK! Så prøv med denne her i stedet alt det andet...
- her går jeg ud fra at du også har to kolloner i din database som hedder "overskrift" og "nyhed"...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <title>Untitled</title>
</head>
<body>
<%

mode = Request.querystring("mode")
if mode = "save" then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("Mew.mdb")
  Set Upload = Server.CreateObject("Persits.Upload.1")
  Upload.OverwriteFiles = False
  Upload.SetMaxSize 1048576
  Upload.Save(Server.MapPath("upload"))
  overskrift = Upload.Form("overskrift")
  nyhed = Upload.Form("nyhed")
  For Each File in Upload.Files
  filename = file.ExtractFileName
  Conn.execute("insert into dinTabel(filNavn, overskrift, nyhed) values('"& filename &"', '" & overskrift & "', '" & nyhed & "')")
%>     
<b>NYHED OPRETTET</b>
<br><img src="upload/<%=filename%>">
<br>
<b><%=overskrift%></b>
<br>
<%=nyhed%>       
<%       
next
Conn.close
set Conn=nothing
else
%>
<FORM NAME="MyForm" METHOD="POST" ENCTYPE="multipart/form-data" ACTION="<%=request.servervariables("script_name")%>?mode=save">
<INPUT TYPE="FILE" SIZE="40" NAME="FILE1">
<BR>
Overskrift: <INPUT TYPE="text" NAME="overskrift" SIZE="30">
<br>
Nyhed: <textarea style="width: 200px; height: 200px;" name="nyhed"></textarea>
<br>
<INPUT TYPE=SUBMIT VALUE="Upload">
</FORM>
<%end if%>
</body>
</html>

\Dan
Avatar billede Slettet bruger
27. juni 2006 - 17:23 #22
Virker:)
Avatar billede Slettet bruger
27. juni 2006 - 17:44 #23
Jamen det var da godt!

- her et svar...

\Dan
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