Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 17:02 Der er 28 kommentarer og
1 løsning

aspSmartUpload: Upload 1 fil og udskriv filnavnet

Hejsa Eksperter!
Jeg sidder og skal bruge et script, som kan:
- Uploade en enkelt fil.
- Udskrive filnavnet på denne fil.
- Genne andre felter fra min <form> i en access db.

<form action="upload.asp" method="post" enctype="multipart/form-data">
<input type="text" name="f_navn">
<input type="text" name="f_email">
<input type="file" name="f_file">
<input type="submit">

Hvordan skal min "upload.asp" se ud?

Jeg sidder i en presset situation, og skal bruge scriptet ret hurtigt.. Håber en af jer kan/vil hjælpe mig :)

MVH Christian
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 17:06 #1
-- upload.asp --
' Upload fil og udskriv filnavn .. ?
myConn.Execute("insert into t_tabel (f_name, f_email, f_filepath) values ('"&request("f_name")&"', '"&request("f_email")&"', '"&FilNavn&"')")

Ja, filnavnet skal gemmes i databasen :)
Avatar billede larsen Nybegynder
14. juni 2004 - 17:11 #2
Hvilken komponent (hvis nogen) anvender du ?
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 17:14 #3
aspSmartUpload
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 17:14 #4
Avatar billede larsen Nybegynder
14. juni 2004 - 17:19 #5
Ups, Havde lige glemt at nærlæse :-)
Men så har du fundet løsningen eller ?
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 17:19 #6
Nej, Jeg har ikke tid til at skrive det selv, jeg sidder og arbejder på et andet script.
Avatar billede larsen Nybegynder
14. juni 2004 - 17:23 #7
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 17:25 #8
Larsen > Du linker til kilden af en <form>... Der er ikke noget ASP på den side.

Kan man evt. uploade filen, og så selv bestemme filnavnet? Det ville også løse mit problem.
Avatar billede KingMedia Novice
14. juni 2004 - 17:32 #9
<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim file
  Dim intCount
  Dim Size
  Dim Filename
  Dim FileExt
  Dim FilePathName
  Dim NewName
  Dim Fil
  intCount=0
       
'  Lav upload Object
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

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

'  løkke til gennemløb ved flere filer
'  ****************
  For each file In mySmartUpload.Files
  '  Kun hvis filen eksisterer
  '  **********************
 
        If not file.IsMissing Then
 
  '  Lav variabler ud fra billedets info
      '  ******************************************
        Size =  file.Size & " Bytes"
        FileName = file.FileName
        FileExt = "." & file.FileExt
        FilePathName =  file.FilePathName
    FileVirtPath =  mySmartUpload.Form("Sti") 

 
      '  Gem fil på serveren afhængigt af value i <select> ( mySmartUpload.Form("Sti") )
      '  **************************************************************************
     
      NewName = right("0" & year(now), 2) & right("0" & month(now), 2) & right("0" & day(now), 2)
      NewName = NewName & hour(time) & minute(time) & second(time)
     
      Fil = NewName & FileExt
     
     
    ' Upload med en virtuel sti
          file.SaveAs("/Pics/" & FileVirtPath & Fil)
        ' Herunder med en fysisk sti
        ' file.SaveAs("c:\temp\" & file.FileName)

     

        intCount = intCount + 1
      End If
  Next

%>
Avatar billede KingMedia Novice
14. juni 2004 - 17:33 #10
Det script bruger jeg selv..
Jeg ved ikke om du selv vil ku indtaste filnavnet, eller om det er ok at den laver et random filnavn ?

I det her tilfælde laver den et filnavn ud fra tid/dato objektet..  så filen eks. kommer til at hedde :  0222112142.jpg

/Mads
Avatar billede larsen Nybegynder
14. juni 2004 - 17:35 #11
Gem dette som forside.asp :

<HTML>
<BODY BGCOLOR="white">

<H1>aspSmartUpload</H1>
<HR>

<form METHOD="POST" ACTION="Upload.asp" NAME="PW" ENCTYPE="multipart/form-data">
  <table CELLSPACING="0" CELLPADDING="3" BORDER="1" WIDTH="474">

<!-- FILE -->
    <tr>
      <td><small><font face="Verdana">Select&nbsp;a&nbsp;first&nbsp;file&nbsp;:&nbsp; </font></small></td>
      <td><small><font face="Verdana"><input TYPE="file" name="FILE1"></font></small></td>
    </tr>

    <tr>
      <td><small><font face="Verdana">Select&nbsp;a&nbsp;second&nbsp;file&nbsp;:&nbsp; </font></small></td>
      <td><small><font face="Verdana"><input TYPE="file" name="FILE2"></font></small></td>
    </tr>

<!-- TEXT -->
    <tr>
      <td width="150"><div align="left"><p><small><font face="Verdana">Navn :&nbsp; </font></small></td>
      <td width="324"><small><font face="Verdana"><input TYPE="TEXT" name="f_navn" value=""><br></font></small></td>
    </tr>
    <tr>
      <td width="150"><div align="left"><p><small><font face="Verdana">Email :&nbsp; </font></small></td>
      <td width="324"><small><font face="Verdana"><input TYPE="TEXT" name="f_email" value=""><br></font></small></td>
    </tr>

<!-- SUBMIT -->
    <tr>
      <td colspan="2" width="474"><div align="center"><center><p><small><font face="Verdana"><input TYPE="Submit"> </font></small></td>
    </tr>
  </table>
</form>

</BODY>
</HTML>



Gem så dette som Upload.asp :

<HTML>
<BODY BGCOLOR="white">

<H1>aspSmartUpload</H1>
<HR>

<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim item
  Dim value
  Dim file

Dim StrSQL
Dim Conn, Rs
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\Sti\Til\DB.mdb"

       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

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

'  FILES Collection
'  ****************
  Response.Write("<BR><STRONG>Files Collection</STRONG><BR>")

'  Informations about files
'  ************************
  Response.Write("Number of files =" & mySmartUpload.Files.count &"<BR>")
  Response.Write("Total bytes of files =" & mySmartUpload.Files.TotalBytes &"<BR>")

'  Select each file
'  ****************
  For each file In mySmartUpload.Files
      Response.Write(file.FileName & " (" & file.Size & "bytes)<BR>")
  Next

'  FORM Collection
'  ***************
  Response.Write("<BR><STRONG>Form Collection</STRONG><BR>")

    StrSql="Insert into Tbl_Tabel (navn, email) values ("
    StrSQL=StrSQL & MySmartUpload.Form("f_navn") & ","
    StrSQL=StrSQL & MySmartUpload.Form("f_email") & ")"
    Set Rs=Conn.Execute(StrSQL)
    Conn.Close
%>
</BODY>
</HTML>



Jeg har IKKE afprøvet det.
Du kan jo lave en blanding af mit og kingmedia :-)
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 17:39 #12
Tak begge to.. Ingen af jeres løsninger fortjener 200 points, men jeg ser lige på det og prøver at flække noget sammen :)
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 18:07 #13
OK - Jeg har poket lidt rundt her på exp.dk, og set et par forskellige indlæg om aspSmartUpload, men jeg kan simpelthen ikke greje hvordan det fungerer. jeg må indrømme, at jeg er ude hvor jeg kan ikke kan bunde :-/
Er der nogen, med megen aspSmartUpload erfaring, som kan lave et *SIMPELT* script, som kan lige præcis det jeg efterlyser uden ekstra features?

MVH Christian
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 18:10 #14
Jeg omformulerer lige mit spørgsmål, så det er mere præcist:

Scriptet skal kunne:
- Uploade en enkelt fil.
- Gemme denne fil som Session.SessionID + filens extension
- Gemme navnet på filen (Session.SessionID + FileExt), værdien af feltet "f_navn", og værdien af feltet "f_email" i en database.
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 18:13 #15
Min upload.asp ser sådan her ud:
------
<%
      Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
      mySmartUpload.Upload
      mySmartUpload.FileName = Session.SessionID
      mySmartUpload.FileExt = "." & file.FileExt
      str = myUpload.files.item(1).saveas("upload/" & FileName & FileExt)
      Set mySmartUpload = Nothing
      Set strTargetPath = Nothing
      Response.write(FileName & FileExt & " uploadet uden problemos! :)")
%>
-------
Dette genererer flg. fejlmeddelelse:
-------
Microsoft VBScript runtime  error '800a01b6'

Object doesn't support this property or method: 'mySmartUpload.FileName'

/uploader/Upload.asp, line 4
--------

:(
Avatar billede larsen Nybegynder
14. juni 2004 - 18:18 #16
Skal den KUN uploade een fil ad gangen ?
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 18:20 #17
larsen > Ja :)
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 18:21 #18
larsen > og drop "ad gangen". Der skal kun uploades éen fil, punktum.
Avatar billede larsen Nybegynder
14. juni 2004 - 18:28 #19
Prøv denne (upload.asp). Den er dog ikke afprøvet :

<HTML>
<BODY BGCOLOR="white">

<H1>Upload</H1>
<HR>

<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim intCount
  Dim StrSQL, Conn, Rs
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=Sti\til\db.mdb"

       
'  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.SaveAs("/aspSmartUpload/Upload/" & Session.SessionID & "_" & mySmartUpload.FileName)
  ' sample with a physical path
  ' intCount = mySmartUpload.Save("c:\temp\")

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.")
  StrSQL="INSERT INTO Tbl_MinTabel (Navn, Email, Filnavn) VALUES ("
  StrSQL=StrSQL & "'" & mySmartUpload.Form("f_navn") & "',"
  StrSQL=StrSQL & "'" & mySmartUpload.Form("f_email") & "',"
  StrSQL=StrSQL & "'" & Session.SessionID & "_" & mySmartUpload.FileName & "')"
  Set Rs=Conn.Execute(StrSQL)
  Conn.Close
%>
</BODY>
</HTML>
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 18:31 #20
Ok, det prøver jeg lige.
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 18:34 #21
Microsoft VBScript runtime  error '800a01b6'

Object doesn't support this property or method: 'FileName'

/uploader/Upload.asp, line 21
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 18:38 #22
Sidekommentar: Er det nødvendigt at Dim variabler, hvis man ikke bruger <% Option Explicit %>?
Avatar billede larsen Nybegynder
14. juni 2004 - 18:42 #23
Nej, det er ikke nødvendigt at Dim'me

Jeg laver den lige og tester den, ik ?
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 18:43 #24
Ok, mange tak :D
Avatar billede larsen Nybegynder
14. juni 2004 - 19:09 #25
Ok, nu skulle den virke hos dig også :-)

Her er første fil (Forside.asp) :

<HTML>
<BODY BGCOLOR="white">

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

<form METHOD="POST" ACTION="Upload.asp" NAME="PW" ENCTYPE="multipart/form-data">
  <table CELLSPACING="0" CELLPADDING="3" BORDER="1" WIDTH="474">

<!-- FILE -->
    <tr>
      <td><small><font face="Verdana">Vælg fil : </font></small></td>
      <td><small><font face="Verdana"><input TYPE="file" name="FILE1"></font></small></td>
    </tr>

<!-- TEXT -->
    <tr>
      <td width="150"><div align="left"><p><small><font face="Verdana">Navn : </font></small></td>
      <td width="324"><small><font face="Verdana"><input TYPE="TEXT" name="f_navn" value=""><br></font></small></td>
    </tr>

    <tr>
      <td width="150"><div align="left"><p><small><font face="Verdana">Email : </font></small></td>
      <td width="324"><small><font face="Verdana"><input TYPE="TEXT" name="f_email" value=""><br></font></small></td>
    </tr>

<!-- SUBMIT -->
    <tr>
      <td colspan="2" width="474"><div align="center"><center><p><small><font face="Verdana"><input TYPE="Submit"> </font></small></td>
    </tr>
  </table>
</form>

</BODY>
</HTML>



Og den anden fil (Upload.asp):

<%
    Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
    mySmartUpLoad.TotalMaxFileSize = 1000000
    mySmartUpLoad.MaxFileSize = 500000
    mySmartUpLoad.AllowedFilesList = "txt,doc,zip"
    mySmartUpLoad.DeniedFilesList = ",,bat,exe,com,asp,js,php,htm,html"

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\Sti\Til\Db.mdb"

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

'  Select each file
'  ****************
    For each file In mySmartUpload.Files
        If not file.IsMissing Then
            file.SaveAs("C:\Sti\Til\Fil\" & Session.SessionID & "_" & file.Filename)
            filnavn=Session.SessionID & "_" & file.Filename
        End If
    Next

    StrSQL="INSERT INTO Tbl_Tabel (navn,email,fil) VALUES ("
    StrSQL=StrSQL & "'" & mySmartUpload.Form("f_navn") & "',"
    StrSQL=StrSQL & "'" & mySmartUpload.Form("f_email") & "',"
    StrSQL=StrSQL & "'" & filnavn & "')"
'    Response.Write("StrSQL=" & StrSQL)
    Set rs = Conn.Execute(strSQL)
Conn.Close
%>
Avatar billede larsen Nybegynder
14. juni 2004 - 19:11 #26
Du kan fjerne følgende, hvis du synes :

    mySmartUpLoad.TotalMaxFileSize = 1000000
    mySmartUpLoad.MaxFileSize = 500000
    mySmartUpLoad.AllowedFilesList = "txt,doc,zip"
    mySmartUpLoad.DeniedFilesList = ",,bat,exe,com,asp,js,php,htm,html"
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 19:16 #27
Jeg tester det!
Avatar billede jeg_var_gangsta Nybegynder
14. juni 2004 - 19:19 #28
WOOHOO! Det virker! Larsen, du skal have rigtig mange tak for din tid og hjælp :D
Gider du lave et svar?

:D

/Christian
Avatar billede larsen Nybegynder
14. juni 2004 - 19:30 #29
Det var godt. Sulle det være en anden gang :-)
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