Avatar billede Slettet bruger
16. december 2008 - 14:44 Der er 10 kommentarer og
1 løsning

Filnavn til database

Jeg har et script hvor jeg uploader filer og tilføjer noget tekst til en database.
Jeg vil meget gerne have tilføjet filnavnene på de 2 filer der bliver upload til databasen.

Nogen der kan hjælpe mig her?

Har en form med følgende hvor filerne bliver defineret:
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50">
<INPUT TYPE="FILE" NAME="FILE2" SIZE="50">


Og uploader og tilføjer med dette:

  '  Add the current file in a DB field
      '  **********************************
        oRs.AddNew
        oRs("overskrift") = mySmartUpload.form("overskrift")
        oRs("beskrivelse") = mySmartUpload.form("beskrivelse")



Hvad skriver jeg for at tilføje mine filnavne til databasen?

De skal hedde filnavn og picnavn

Håber nogen kan hjælpe.
Mvh.
Henrik
Avatar billede fennec Nybegynder
16. december 2008 - 14:52 #1
Går ud fra det er aspSmartUpload du bruger...

Så burde du kunne trække navnet ud sådan:
mySmartUpload.Files.Item("File1").FileName
Avatar billede Slettet bruger
16. december 2008 - 14:56 #2
Yes, det er aspSmartUpload jeg bruger.. :-)

Prøver det lige, tak...
Avatar billede Slettet bruger
16. december 2008 - 15:03 #3
Den gav ingen fejl, men der kom desværre ikke noget ind i databasen.
Altså overskift og beskrivelse kommer fint ind..

Skriv følgende:

        oRs("filnavn") = mySmartUpload.Files.Item("File1").FileName
        oRs("pic") = mySmartUpload.Files.Item("File2").FileName
        oRs("overskrift") = mySmartUpload.form("overskrift")
        oRs("beskrivelse") = mySmartUpload.form("beskrivelse")
Avatar billede Slettet bruger
16. december 2008 - 15:05 #4
Smider lige hele koden, kan være jeg har lavet ged i det et andet sted i koden.

<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim file1
  Dim file2
  Dim oConn
  Dim oRs
  Dim intCount
  intCount=0
  Session.LCID = 1030     
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  mySmartUpload.Upload
  intCount = mySmartUpload.Save("/aspSmartUpload/Upload")

'  Connect to the DB
'  *****************
  Set oConn = Server.CreateObject("ADODB.Connection")
  curDir = Server.MapPath("\database\storedb.mdb")
  oConn.Open "DBQ="& curDir &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

'  Open a recordset
'  ****************
  strSQL = "SELECT * FROM seneste"

  Set oRs = Server.CreateObject("ADODB.recordset")
  Set oRs.ActiveConnection = oConn
  oRs.Source = strSQL
  oRs.LockType = 3
  oRs.Open

'  Select each file
'  ****************
  For each file In mySmartUpload.Files
  '  Only if the file exist
  '  **********************
      If not file.IsMissing Then

      '  Add the current file in a DB field
      '  **********************************
        oRs.AddNew
        oRs("filnavn") = mySmartUpload.Files.Item("File1").FileName
        oRs("pic") = mySmartUpload.Files.Item("File2").FileName
        oRs("overskrift") = mySmartUpload.form("overskrift")
        oRs("beskrivelse") = mySmartUpload.form("beskrivelse")
        oRs("tid") = now()
        oRs.Update
        intCount = intCount + 1
      End If
  Next

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.<BR>")

'  Destruction
'  ***********
  oRs.Close
  oConn.Close
  Set oRs = Nothing
  Set oConn = Nothing
%>
Avatar billede Slettet bruger
16. december 2008 - 15:14 #5
Sorry, det virkede super!!!! :-)
Havde ikke fået opdateret da jeg prøvede.
Jeg siger mange tak...

Ved du noget om hvor jeg ikke kan uploade filer over 1 mb. (tror det er størrelsen), er der en begrænsning på aspSmartUpload?
Avatar billede fennec Nybegynder
16. december 2008 - 15:25 #6
Det er en begrænsning i IIS. Du skal ind og rette metabase.xml filen på serveren:
http://www.banmanpro.com/support2/File_Upload_limits.asp

.o) <-- One Eyed Jack
Avatar billede Slettet bruger
16. december 2008 - 15:41 #7
Ahhhh... sejt.. :-)

Så har vi fået det fixet....
Jeg siger mange tak...

Forresten, lige et bonusspørgsmål hvis du har tid.. hehe..
Jeg vil gerne have at den ikke bare overskriver filen når jeg uploader, men laver en hvor der f.eks. står  filnavn(1).jpg hvis billedet eksisterer i forvejen.. Ved du hvordan det laves?
Avatar billede fennec Nybegynder
16. december 2008 - 15:53 #8
Hvis du havde brugt ASPUpload i stedet havde det været nemt (kan du skifte til den?)
Kodemæssig er der ikke den store ændring fra aspSmartUpload til ASPupload.
Med ASPupload sætter du bare denne parametre:
Upload.OverwriteFiles = False

Hvis ASPUpload ikke er på serveren, bliver du nød til at gøre det manuelt, og tjekke om filen eksistere i forvejen via FileSystemObject.

Der må du så have lavet en funktion som kan tjekke om filen eksistere og hvis ikke prøve med "(x)" til den finder et ledigt filnavn. Det bliver dog noget bøvl med upload til memory, navn tjek og manuel save...
Avatar billede Slettet bruger
16. december 2008 - 16:01 #9
Hmmmm... det kan jeg godt se ikke er så nemt.

Jeg kommer fra ASPupload, men problemet er at jeg har fået min egen dedikeret server nu og der skal jeg selv betale for alle komponenter og ASPupload koster sgu rimelig meget og aspSmartUpload er gratis.. Det er grunden tl jeg er skiftet...
Avatar billede fennec Nybegynder
16. december 2008 - 16:15 #10
lol... Det er altid grunden til at man bruger SmartUpload :)

Jeg har ikke selv søgt, men jeg vil mene der er stor sansynlighed for at finde et script her på E (eller google) til aspSmartUpload som tjekker navnet. Prøv om du kan finde noget, ellers må du igang med at lave det selv :(
Avatar billede Slettet bruger
16. december 2008 - 16:23 #11
Okay, jeg checker lige om jeg kan finde det.
Men du skal i hvert fald have mangen tak for hjælpen, nu kan jeg opdaterer mit site igen.. :-)
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