Avatar billede gnuen_fra Nybegynder
02. november 2004 - 17:52 Der er 13 kommentarer og
1 løsning

Gemme uploaded filnavn i databasen.

Jeg har følgende filer:

filnavn: nyvare.asp

<%@language="vbscript" %>
<html>
<head>
</head>
<body>
opret ny vare
<form method="GET" action="opretv.asp">
<input type="text" name="overskrift">
<textarea name="tekst"></textarea>
<select name="kategori" onChange="MM_jumpMenu('parent',this,0)">
  <option>møbler</option>
  <option>sølvtøj</option>
  <option>diverse</option>
  <option>porcelæn</option>
</select>
input type="submit" value="Gem">
</form>
</body>
</html>

Filnavn: opretv.asp

<%@language="vbscript" %>
<!--#include file="connect.asp"-->
<%
Set varer = Server.CreateObject("ADODB.Recordset")
varer.Open "ting", database, 2,2
%>
<%
varer.AddNew
       
varer("overskrift")=Request.QueryString("overskrift")
       
varer("tekst")=Request.QueryString("tekst")
       
varer("kategori")=Request.QueryString("kategori")
       
varer.Update
%>
<html>
<head>
</head>
<body>
Upload billeder
<form method="POST" enctype="multipart/form-data" action="upload.asp">
<table width="100%" border="0">
Lille billede:
<input type="file" name="billeder">
Stort billede:
<input type="file" name="billeder2">

<input type="submit" value="Upload">
</form>
</body>
</html>

Filnavn: Upload.asp

<%@language="vbscript" %>
<!--#include file="connect.asp"-->
<html>
<body>

<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SaveVirtual("../ting/")
%>

<b>her er filnavnene:</b><br>

<%
For Each File in Upload.Files
Response.Write File.Path
Next
%>

</body>
</html>

Mit spørgsmål lyder så: Hvordan kan jeg uploade billederne og gemme stien i min database sammen med de andre oplysninger (dvs. samme række i tabellen)? Jeg kan oplyse at jeg fint kan uploade og udskrive filernes navne.

På forhånd tak for hjælpen :o)
Avatar billede hiks Nybegynder
02. november 2004 - 18:48 #1
hej

du skal vel have tilføjet det i din database heromkring:

<%
For Each File in Upload.Files
    Response.Write File.Path & "/" & File.Name
    filnavn = File.Name 'filnavn
    filtype = File.ContentType 'filtypen
    filstr = File.Size 'størrelse i kb

    SQL = "Insert INTO dintabel (billedenavn, billedetype, billedestr) " & _
          "VALUES('" & filnavn & "','" & filtype & "'," & filstr & ");"
    Response.Write SQL
    'din connectionstring her!
Next
%>

/hiks
Avatar billede ellebaek Nybegynder
02. november 2004 - 18:56 #2
<%@language="vbscript" %>
<html>
<head>
</head>
<body>
opret ny vare
<form method="GET" action="opretv.asp">
<input type="text" name="overskrift">
<textarea name="tekst"></textarea>
<select name="kategori" onChange="MM_jumpMenu('parent',this,0)">
  <option>møbler</option>
  <option>sølvtøj</option>
  <option>diverse</option>
  <option>porcelæn</option>
</select>
input type="submit" value="Gem">
</form>
</body>
</html>

Filnavn: opretv.asp

<%@language="vbscript" %>
<!--#include file="connect.asp"-->
<%

%>
<%

session("overskrift")=Request.QueryString("overskrift")
       
session("tekst")=Request.QueryString("tekst")
       
session("kategori")=Request.QueryString("kategori")
       
%>
<html>
<head>
</head>
<body>
Upload billeder
<form method="POST" enctype="multipart/form-data" action="upload.asp">
<table width="100%" border="0">
Lille billede:
<input type="file" name="billeder">
Stort billede:
<input type="file" name="billeder2">

<input type="submit" value="Upload">
</form>
</body>
</html>

Filnavn: Upload.asp

<%@language="vbscript" %>
<!--#include file="connect.asp"-->
<html>
<body>

<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SaveVirtual("../ting/")
%>

<b>her er filnavnene:</b><br>

<%
filepath = ""
For Each File in Upload.Files
filepath = filepath & File.Path & ","
Next
filearr = split(filepath,",")

sql = "insert into ting(overskrift,tekst,kategori,lillebillede,stortbillede) values('"&session("overskrift")&"','"&session("tekst")&"','"&session("kategori")&"','"&filearr(0)&"','"&filearr(1)&"')

Set varer = Server.CreateObject("ADODB.connection")
varer.Open database
set rs = varer.execute(sql)

%>

</body>
</html>


Vil tro dette kan gøre det for dig.. Men har ikke testet det.
Avatar billede hiks Nybegynder
02. november 2004 - 19:03 #3
ellebaek:

dit array skal vel dannes inde i løkken - da jeg tror der bliver uploadet mere end een fil. Ellers er det mig der har misforstået hvorfor der er en løkke der i hvert fald.

/hiks
Avatar billede gnuen_fra Nybegynder
02. november 2004 - 19:05 #4
Jeg har nu prøvet med det sidste bud da dette er det bedste. Den kommer dog med denne fejl:

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

upload.asp, line 20

sql = "insert into ting(overskrift,tekst,kategori,lillebillede,stortbillede) values('"&session("overskrift")&"','"&session("tekst")&"','"&session("kategori")&"','"&filearr(0)&"','"&filearr(1)&"')

For mig ser det ud som om den ikke får hentet data ud af sessionen eller at der skal bruges en anden måde at skrive til databasen.

Måske kan det hjælpe hvis jeg viser hvordan min connect.asp ser ud?

Filnavn:

<% language="vbscript" %>

<%
SET database = Server.CreateObject("ADODB.Connection")
database.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/sverige.mdb")
%>

mangler lige det sidste. men tak for den brugte tid!!
Avatar billede gnuen_fra Nybegynder
02. november 2004 - 19:09 #5
jo der skal uploades 2 filer hvis navne/sti skal gemmes i databasen "sverige.mdb" i tabellen "ting" og i samme række som de tidligere indtastede informationer. Håber det ikke er helt umuligt!
Avatar billede hiks Nybegynder
02. november 2004 - 19:22 #6
Filnavn: opretv.asp

<%@language="vbscript" %>
<!--#include file="connect.asp"-->
<%
Set varer = Server.CreateObject("ADODB.Recordset")
varer.Open "ting", database, 2,2
%>
<%
varer.AddNew
       
varer("overskrift")=Request.QueryString("overskrift")
       
varer("tekst")=Request.QueryString("tekst")
       
varer("kategori")=Request.QueryString("kategori")
       
varer.Update
id = varer("id") 'hvis du altså har et felt der hedder id ellers ret til dit id felt

%>
<html>
<head>
</head>
<body>
Upload billeder
<form method="POST" enctype="multipart/form-data" action="upload.asp">
<table width="100%" border="0">
Lille billede:
<input type="file" name="billeder">
Stort billede:
<input type="file" name="billeder2">

<input type="submit" value="Upload">
</form>
</body>
</html>

Filnavn: Upload.asp

<%@language="vbscript" %>
<!--#include file="connect.asp"-->
<html>
<body>

<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SaveVirtual("../ting/")
%>

<b>her er filnavnene:</b><br>

<%
dim i 'tæller
For Each File in Upload.Files
    Response.Write File.Path & "/" & File.Name
    filnavn(i) = File.Name 'filnavn
    i = i + 1
Next

    SQL = "UPDATE ting SET lillebillede = '" & filnavn(0) & "', " & _
          "stortbillede = '" & filnavn(1)& "' " & _
          "WHERE id = " & id & ";"
    Response.Write SQL
    'husk at ændre idnavnet i tabellen
    'din connectionstring her!
    set rs = varer.execute(sql)
%>

</body>
</html>

/hiks
Avatar billede hiks Nybegynder
02. november 2004 - 19:24 #7
du skal lige huske at det id ' skal postes videre således at du kan fange det evt. vha.

request.form("id") eller request.querystring fra opretv.asp - ellers får du problemer med at opdatere recordsættet - altså den rette post!

/hiks
Avatar billede gnuen_fra Nybegynder
02. november 2004 - 19:32 #8
Jeg fik det til at virke med ellebaek's script. Der manglede et "-tegn.
1000 tak for den brugte tid /hiks kan man dele point op?
Avatar billede gnuen_fra Nybegynder
02. november 2004 - 19:38 #9
så må ellebaek skrive hvis man føler han mangler point  :o)
Avatar billede ellebaek Nybegynder
04. november 2004 - 21:42 #10
jeg føler jeg mangler points da :-)
Avatar billede hiks Nybegynder
05. november 2004 - 00:29 #11
hva siger du til 100 fra mig?

opretter lige i fejlkategori i morgen, ok?

/hiks
Avatar billede ellebaek Nybegynder
05. november 2004 - 10:56 #12
jo glimrende :-)
Bare smid en ref når den er klar ;.)
Avatar billede hiks Nybegynder
05. november 2004 - 11:08 #13
nu har jeg siddet og ledt lidt her på eksperten - er der ikke en bestemt kategori til: Point til ? Link?

Kan ikke finde den efter at de har lavet om på kategorierne.

/hiks
Avatar billede hiks Nybegynder
05. november 2004 - 11:12 #14
nu gjorde jeg det bare her:

http://eksperten.dk/spm/558215

/hiks
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