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.
Annonceindlæg fra Computerworld
18. september 2003 - 15:11
#1
Smid litt mer kode:
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?
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
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))
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.
18. september 2003 - 18:59
#6
Jamen, så skal du bare du bare putte strFileSpec i databasen.
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)
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=''
12. oktober 2003 - 19:00
#9
glem det jeg fandt på noget andet :-)
Kurser inden for grundlæggende programmering