Avatar billede donslund Nybegynder
18. september 2003 - 14:41 Der er 8 kommentarer og
1 løsning

Tilføje tid til filnavn før upload

Jeg har et upload-uden-komponent-script. Det virker upåklageligt, men for t undgå dobbelt navngivning på derveren , så vil jeg sætte en streng foran filnavnet.
Det gør jeg her:

strFileSpec = Server.MapPath(LCase(strPath & dato & strFilename))

men jeg får ikke det rigtige navn med videre når jeg skal sætte noget ind i en db.
Avatar billede mortency Nybegynder
18. september 2003 - 15:11 #1
Smid litt mer kode:
Avatar billede erikjacobsen Ekspert
18. september 2003 - 15:11 #2
Kan du ikke præcisere hvad der går galt? Hvad indeholde strFileSpec fx
efter den operation du laver. Og er det også den, der bliver indsat?
Avatar billede donslund Nybegynder
18. september 2003 - 15:50 #3
Jeg kunne sagtens smide hele koden, men den fylder lidt meget.

dato = DateDiff("s", "01-01-1970", now)


        'Dan det fulde outputfilnavn via MapPath
        strFileSpec = Server.MapPath(LCase(strPath & dato & strFilename)) 'LCase kan evt fjernes herfra

Og dette bruges til db'en:

intFileUpload = FileUpload("/cgi-bin/billeder/", 20000, Array("image/gif", "image/jpeg", "image/pjpeg"), Array("gif", "jpg"), strContentType, strFilename, intFileTotalBytes)

        If intFileUpload = 0 Then
            Response.Write "Filen " & strFilename & " blev uploaded.<BR>"
            Response.Write "Det er en fil af typen " & strContentType & " og den fylder " & intFileTotalBytes & " bytes:<BR>"
            Response.Write "<IMG SRC='../cgi-bin/billeder/" & strFilename & "'><BR>"
                        response.write "<FORM ACTION='insertinfo.asp' METHOD='POST'>"
                        response.write "<INPUT TYPE='hidden' VALUE='" & strFilename & "' SIZE='30' NAME='filnavn'><BR>"

Giver det overhovedet mening?

Det er filespec der bliver filens navn på serveren, men det er strFilename derbliver sendt videre til Db'en
Avatar billede eagleeye Praktikant
18. september 2003 - 15:50 #4
Du kan sætte Now eller Date ind i nanvet, dog skal : og / laves om til tom da de ikke er tilalde tegn i navnet:

datoTid = Replace(now(),"/","")
datoTid = Replace(datoTid,"-","")
datoTid = Replace(datoTid,":","")

strFileSpec = Server.MapPath(LCase(strPath & datoTid & strFilename))
Avatar billede donslund Nybegynder
18. september 2003 - 18:02 #5
det gør jeg jo allerede
dato = DateDiff("s", "01-01-1970", now)


        'Dan det fulde outputfilnavn via MapPath
        strFileSpec = Server.MapPath(LCase(strPath & dato & strFilename))

Og det virker fint nok, men jeg ved bare ikke hvordan jeg skal få dette nye navn med in i databasen.
Avatar billede erikjacobsen Ekspert
18. september 2003 - 18:59 #6
Jamen, så skal du bare du bare putte strFileSpec i databasen.
Avatar billede eagleeye Praktikant
18. september 2003 - 19:03 #7
hvis du skal havde den relative sti i databsen s´å del denne linje op i to:

strFileSpec = Server.MapPath(LCase(strPath & dato & strFilename))

Sådan:
tilDatabaseNavn = LCase(strPath & dato & strFilename)
strFileSpec = Server.MapPath(tilDatabaseNavn)
Avatar billede donslund Nybegynder
19. september 2003 - 14:05 #8
Hvis jeg i denne linie:

response.write "<INPUT TYPE='hidden' VALUE='" & strFilename & "' SIZE='30' NAME='filnavn'><BR>"

Bytter strFileName ud med strFileSpec, så bliver min value tom    value=''
Avatar billede donslund Nybegynder
12. oktober 2003 - 19:00 #9
glem det jeg fandt på noget andet :-)
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