Avatar billede ger2001 Novice
11. april 2005 - 10:35 Der er 36 kommentarer og
1 løsning

kopiere fil og gemme filnavn

Jeg har denne formular og vil gerne have den til at gemme filnavnet på den vedhæftede fil i tabellen filer(url) samtidigt med at filen kopieres over i en mappe der hedder filer.
Avatar billede busschou Praktikant
11. april 2005 - 10:39 #1
og din formular er? ;o)
Avatar billede ger2001 Novice
11. april 2005 - 10:45 #2
Undskyld blev lige forstyrret:)
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("/database/db1.mdb")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")


if mode = "save" then
temp1 = request.form("idnr")
  temp2 = request.form("vedhaeft")
sql = "insert into filer(idnummer, url)" &_
    "values("& temp1 &",'"& temp2 &"' )"

conn.execute(sql)
end if

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script src="3common.js" type="text/javascript"></script>
    <title>Fejlindmedelse</title>
</head>

<body>

  <form name="myForm" method="post" action="<%= scriptname %>?mode=save">
  <select name="idnr" style="width:343px">
    <%
    set rs = conn.execute("select * from fejl order by id")
    do while not rs.eof
      response.write "<option value='"& rs("id") &"'>"& rs("id")
      rs.MoveNext
    loop
    %>
  </select>
  </p>

  <input type="file" name="vedhaeft" onFocus="clearForm(this)" value="Vedhæft fil"><br></p>
</select></p>

  <input type="Submit" value="Gem">

    </form>
  </ts>   
</table>
</center>

</body>
</html>
Avatar billede busschou Praktikant
11. april 2005 - 10:50 #3
men dvs det er dit script som gemmer filen ...eller?
for som du har det der kan du vist ikke se filnavnet
Og dog
Du får jo fra "vedhaeft" en adresse som "c:\mappe\mappe\filnavn.endelse"
Så kan du jo hive den sidste del af ved et Split?
Avatar billede ger2001 Novice
11. april 2005 - 10:53 #4
Lige netop jeg skal bruge den fil i vedhæft. skal kopieres til /filer og filnavnet gemmes i databasen.
Avatar billede busschou Praktikant
11. april 2005 - 10:55 #5
ok men det med at den kopieres...er det noget dit script klarer...?
eller skal det også klares her?
Avatar billede busschou Praktikant
11. april 2005 - 10:57 #6
if mode = "save" then
temp1 = request.form("idnr")
  temp2 = request.form("vedhaeft")
temp2_array = Split(temp2,"\")
sidste_index = UBound(temp2_array)
temp2 = temp2_array(sidste_index)
sql = "insert into filer(idnummer, url)" &_
    "values("& temp1 &",'"& temp2 &"' )"
-------------
Det burde vist hive filnavnet ud
Avatar billede ger2001 Novice
11. april 2005 - 11:01 #7
Ja det gør det, regner med at filen skal kopieres i denne formular hvis muligt?
Avatar billede busschou Praktikant
11. april 2005 - 11:02 #8
jeg ved ikke hvordan din script virker....
Avatar billede ger2001 Novice
11. april 2005 - 11:04 #9
hentyder du til javascript? For det skal du bare se bort fra.
Avatar billede busschou Praktikant
11. april 2005 - 11:06 #10
ja det var det... ok..det vil sige at den ikke gemmer filen nu?
For så skal du jo have fat i en komponent af en slags.
Evt AspSmartUpload hvis din udbyder understøtter denne
Avatar billede ger2001 Novice
11. april 2005 - 11:08 #11
har aspsmartupload på egen server
Avatar billede busschou Praktikant
11. april 2005 - 11:09 #12
ok så er det jo "bare" at bruge et af deres eksempler på
http://www.aspsmart.com/aspSmartUpload/
Avatar billede ger2001 Novice
11. april 2005 - 11:19 #13
har prøvet denne men er i tvivl om hvordan jeg skal sætte den op i den første formular. er gemt som upload2.asp
<HTML>
<BODY BGCOLOR="white">

<H1>aspSmartUpload : Sample 1</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("/aspSmartUpload/Upload")
  ' sample with a physical path
  ' intCount = mySmartUpload.Save("c:\temp\")

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.")
%>
</BODY>
</HTML>
Avatar billede busschou Praktikant
11. april 2005 - 11:23 #14
du skal bare gemme ovenstående kode i en fil
Når du submitter din form skal den så gå til den fil
Hvis du så skal videre må du redirecte igen

Det er i al fald sådan jeg bruger den
PS: ovenstående eksempel er ikke godt da den ikke gemmer noget men kun tæller...kig på eksempel 2 på deres side
Avatar billede ger2001 Novice
11. april 2005 - 11:45 #15
Har gemt eksempel 2 som upload2.asp, men kan ikke få den til at uploade. kan du ikke lige se om jeg har gjort det rigtigt i min formular.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("/database/db1.mdb")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")

if mode = "save" then
temp1 = request.form("idnr")
  temp2 = request.form("vedhaeft")
temp2_array = Split(temp2,"\")
sidste_index = UBound(temp2_array)
temp2 = temp2_array(sidste_index)
sql = "insert into filer(idnummer, url)" &_
    "values("& temp1 &",'"& temp2 &"' )"

conn.execute(sql)
end if
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script src="3common.js" type="text/javascript"></script>
    <title>Fejlindmedelse</title>
</head>
<body>

  <form name="myForm" method="post" action="<%= scriptname %>?mode=save">
  <select name="idnr" style="width:343px">
    <%
    set rs = conn.execute("select * from fejl order by id")
    do while not rs.eof
      response.write "<option value='"& rs("id") &"'>"& rs("id")
      rs.MoveNext
    loop
    %>
  </select>
  </p>

  <input type="file" name="vedhaeft" onFocus="clearForm(this)" value="Vedhæft fil"><br></p>
</select></p>

<FORM METHOD="submit" ACTION="/upload2.asp" ENCTYPE="multipart/form-data">
      <INPUT TYPE="SUBMIT" VALUE="Upload">
    </form>
  </ts>   
</table>
</center>
</body>
</html>
Avatar billede busschou Praktikant
11. april 2005 - 11:50 #16
Den her form:
---
<FORM METHOD="submit" ACTION="/upload2.asp" ENCTYPE="multipart/form-data">
<INPUT TYPE="SUBMIT" VALUE="Upload">
</form>
---
Skal indeholde dit fil felt
---
<FORM METHOD="submit" ACTION="/upload2.asp" ENCTYPE="multipart/form-data">
<input type="file" name="vedhaeft" onFocus="clearForm(this)" value="Vedhæft fil">
<INPUT TYPE="SUBMIT" VALUE="Upload">
</form>
---
Jeg er ikke helt med på hvad din onFocus gør?
Men fil feltet skal være i den form for ellers ved upload2.asp jo ikke hvilke filer der er valgt :o)
Hvis du gør det så burde den uploade filen
I din upload2.asp kan du evt samtidig lave din database forbindelse
Avatar billede ger2001 Novice
11. april 2005 - 11:54 #17
onfocus sletter navnet når man trykker på det. Hænger sammen med javascript'et men det forsvinder nok i denne formular.
Avatar billede ger2001 Novice
11. april 2005 - 11:58 #18
behøver vel ingen databaseforbindelse når den bare skal uploade en fil??
Det virker stadig ikke. det er som om den slet ikke kommer i kontakt med upload2.asp
Avatar billede busschou Praktikant
11. april 2005 - 12:00 #19
nej nej det var kun til at indsætte navnet i databasen :o)
hmm lyder underligt at den slet ikke skulle komme i kontakt med siden?
Avatar billede ger2001 Novice
11. april 2005 - 12:36 #20
poster lige hele upload.asp
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("/database/db1.mdb")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")

if mode = "save" then
temp1 = request.form("idnr")
  temp2 = request.form("vedhaeft")
temp2_array = Split(temp2,"\")
sidste_index = UBound(temp2_array)
temp2 = temp2_array(sidste_index)
sql = "insert into filer(idnummer, url)" &_
    "values("& temp1 &",'"& temp2 &"' )"

conn.execute(sql)
end if
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script src="3common.js" type="text/javascript"></script>
    <title>Fejlindmedelse</title>
</head>
<body>

  <form name="myForm" method="post" action="<%= scriptname %>?mode=save">
  <select name="idnr" style="width:343px">
    <%
    set rs = conn.execute("select * from fejl order by id")
    do while not rs.eof
      response.write "<option value='"& rs("id") &"'>"& rs("id")
      rs.MoveNext
    loop
    %>
  </select>
  </p>

<FORM METHOD="submit" ACTION="upload2.asp" ENCTYPE="multipart/form-data">
<input type="file" name="vedhaeft" onFocus="clearForm(this)" value="Vedhæft fil">
<INPUT TYPE="SUBMIT" VALUE="Upload">
</form>

    </form>
  </ts>   
</table>
</center>
</body>
</html>
Avatar billede busschou Praktikant
11. april 2005 - 12:42 #21
det går nok ikke at have de to forms inden i hinanden..mon ikke det er det som giver problemer?
Hvad er scriptname?
Kan du evt gøre følgende og så i upload2.asp til sidst redirect til scriptname?
----
<FORM name="myForm" METHOD="submit" ACTION="upload2.asp" ENCTYPE="multipart/form-data">
  <select name="idnr" style="width:343px">
    <%
    set rs = conn.execute("select * from fejl order by id")
    do while not rs.eof
      response.write "<option value='"& rs("id") &"'>"& rs("id")
      rs.MoveNext
    loop
    %>
  </select>
  </p>
<input type="file" name="vedhaeft" onFocus="clearForm(this)" value="Vedhæft fil">
<INPUT TYPE="SUBMIT" VALUE="Upload">
</form>
Avatar billede ger2001 Novice
11. april 2005 - 12:54 #22
Ok nu kom den da hen på upload men nu melder den fejl på linie 21
<HTML>
<BODY BGCOLOR="white">

<H1>aspSmartUpload : Sample 2</H1>
<HR>

<%
'  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("/aspSmartUpload/Upload/" & file.FileName)
        ' sample with a physical path
          file.SaveAs("c:\1\" & file.FileName)

      '  Display the properties of the current file
      '  ******************************************
        Response.Write("Name = " & file.Name & "<BR>")
        Response.Write("Size = " & file.Size & "<BR>")
        Response.Write("FileName = " & file.FileName & "<BR>")
        Response.Write("FileExt = " & file.FileExt & "<BR>")
        Response.Write("FilePathName = " & file.FilePathName & "<BR>")
        Response.Write("ContentType = " & file.ContentType & "<BR>")
        Response.Write("ContentDisp = " & file.ContentDisp & "<BR>")
        Response.Write("TypeMIME = " & file.TypeMIME & "<BR>")
        Response.Write("SubTypeMIME = " & file.SubTypeMIME & "<BR>")
        intCount = intCount + 1
      End If
  Next

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

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.<BR>")
%>
</BODY>
</HTML>
Avatar billede ger2001 Novice
11. april 2005 - 12:55 #23
line 21:
  mySmartUpload.Upload
Avatar billede busschou Praktikant
11. april 2005 - 12:58 #24
giver den en fejlkode?
For så prøv se inde på deres hjemmeside hvad koden betyder
Det kunne måske tyde på det ikke var sat rigtig op når den ikke kommer længere?
Avatar billede ger2001 Novice
11. april 2005 - 12:58 #25
jeg tror scriptname er et levn fra den side jeg kopierede, har det nogen betydning?
Avatar billede ger2001 Novice
11. april 2005 - 13:00 #26
Subscript out of range??
Avatar billede busschou Praktikant
11. april 2005 - 13:01 #27
om scriptname betyder noget
Det ved jeg jo ikke...ved ikke hvad det skulle gøre ;o)
Men hvis alt du skal er at uploade en fil!
Så kan du nøjes med den html og asp side som findes på linket for aspsmartupload
Måske du skulle tage den derfra?
Og så senere når upload virker så tilføje flere ting?
Avatar billede busschou Praktikant
11. april 2005 - 13:05 #28
jeg bliver desværre nød til at smutte lidt for idag..men jeg håber du kan finde ud af det eller evt en anden kan hjælpe dig videre
Subscript out of range den er ikke beskrevet på deres hjemmeside :/
Avatar billede ger2001 Novice
11. april 2005 - 13:10 #29
Ok prøver at forklare. Jeg har fået lavet en side der oploade en fil samt gemte filnavnet. Det jeg manglede var at den hentede en id fra en anden tabel og lagde den sammen med filnavnet.

felt 1 idnummer: opslag i tabel(fejl.id)
Knap 2 vedhæft fil : siger sig selv
knap 3 upload: -||-

når man trykker på upload sender den en kopi af filen over i mappen: filer, gemmer filnavnet i tabellen filer under feltet url samt idnummer i tabellen fejl under idnummer.
Avatar billede ger2001 Novice
11. april 2005 - 13:25 #30
ok tak for hjælp
Avatar billede ger2001 Novice
11. april 2005 - 15:16 #31
Hvis kommer tilbage er her hvad jeg har indtil nu :
upload.asp
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("/database/db1.mdb")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")
%>
<HTML>
<BODY BGCOLOR="white">

<H1>aspSmartUpload : Sample 2</H1>
<HR>





<FORM METHOD="POST" ACTION="/upload2.asp" ENCTYPE="multipart/form-data">
  <INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
     
<form name="myForm" method="post" action="/upload2.asp" ENCTYPE="multipart/form-data">
  <select name="vareNR" style="width:343px">
    <%
    set rs = conn.execute("select * from fejl order by id")
    do while not rs.eof
      response.write "<option value='"& rs("id") &"'>"& rs("id")
      rs.MoveNext
    loop
    %>
  </select>
  </p>

<INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>


</BODY>
</HTML>

upload2.asp
<%
  Dim mySmartUpload,file

  Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("/database/db1.mdb")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")
       
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
  mySmartUpload.Upload

  For each file In mySmartUpload.Files
      If not file.IsMissing Then
     
        file.SaveAs("c:\1\" & file.FileName)
        Conn.execute("Insert Into filer (url) Values ('C:\1\" & file.FileName &"')")

      End If

  Next

%>
Avatar billede ger2001 Novice
11. april 2005 - 15:17 #32
Jeg mangler bare at den select der hedder varenr kommer ind i databasen i tabellen filer rækken idnummer
Avatar billede ger2001 Novice
13. april 2005 - 08:52 #33
Er der slet ingen der gider hjælpe mig??????Det burde da ikke være så svært igen!
Avatar billede ger2001 Novice
13. april 2005 - 12:18 #34
har løst det. Hvis du vil have pointene busschou så smid et svar
Avatar billede busschou Praktikant
13. april 2005 - 12:20 #35
hvis du mener jeg har gjort lidt så fair nok ... rart det virker :o)
Avatar billede ger2001 Novice
13. april 2005 - 13:19 #36
kan være du lige kan løse et lille problem for mig. Det er nederst på siden, Jeg ville gerne have at der kommer et link til alle de billeder der har samme idnummer som fejl der bliver skrevet ud. Lyder lidt kringlet..prøver lige at opsummere. Idnummer på billede samt id på fejl er det samme. nederst skrives linken ud hvis den har samme idnr som fejlens id.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database/db1.mdb")
Conn.Open DSN
strSQL = "Select * from fejl where fuldfort = 'Nej'"
Set rs = Conn.Execute(strSQL)
%>

<html>
<head>
<meta http-equiv="refresh" content="5;url=visalle.asp">
</head>
<title>Fejlrapport</title>
<body bgcolor="white">

<%
Do
response.write "<table border=1 bordercolor=lightgrey bgcolor=white>"

response.write "<tr>"
response.write "<td border=1 width=100>ID nr.:</td>"
response.write "<td width=400>"
    Response.Write rs("id") & "<br>"
response.write "</td>"
response.write "</tr>"

response.write "<tr>"
response.write "<td border=1>Kunde:</td>"
response.write "<td width=400>"
    Response.Write rs("kundenummer") & "<br>"
response.write "</td>"
response.write "</tr>"

response.write "<tr>"
response.write "<td border=1>Varenr.:</td>"
response.write "<td width=400>"
    Response.Write rs("varenummer") & "<br>"
response.write "</td>"
response.write "</tr>"


response.write "<tr>"
response.write "<td border=1>Beskrivelse:</td>"
response.write "<td width=400>"
    Response.Write rs("beskrivelse") & "<br>"
response.write "</td>"
response.write "</tr>"


response.write "<tr>"
response.write "<td border=1>Løsning:</td>"
response.write "<td width=400>"
    Response.Write rs("loesning") & "<br>"
response.write "</td>"
response.write "</tr>"


response.write "<tr>"
response.write "<td border=1>Udført af:</td>"
response.write "<td width=400>"
    Response.Write rs("ansvarlig") & "<br>"
response.write "</td>"
response.write "</tr>"


response.write "<tr>"
response.write "<td border=1>Færdigmeldt:</td>"
response.write "<td width=400>"
    Response.Write rs("fuldfort") & "<br>"
response.write "</td>"
response.write "</tr>"


response.write "<tr>"
response.write "<td border=1>Dato:</td>"
response.write "<td width=400>"
    Response.Write rs("dato") & "<br>"
    rs.MoveNext
response.write "</td>"
response.write "</tr>"

response.write "</table>"
response.write "<hr width=520 align=left color=darkblue>"
Loop While Not rs.EOF
%>
<a href="
<%
strSQL = "Select * from filer where idnummer=""
Set rs = Conn.Execute(strSQL)
Response.write rs("url")
%>
">
<%
strSQL = "Select * from filer"
Set rs = Conn.Execute(strSQL)
Response.write rs("url")
%>
</a>
</body>
</html>
Avatar billede ger2001 Novice
13. april 2005 - 13:47 #37
Nej du behøver ikke. jeg prøver at oprette et nyt spørgsmål.
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