07. juli 2007 - 15:13Der er
7 kommentarer og 1 løsning
ASPsmartupload problem
Jeg uploader nogle filer med aspsmartupload, samtidig med at navnet på filerne indsættes i min access database. Når et upload felt fra formen ikke udfyldes, indsættes "ingenting" også i databasen. Dette vil jeg gerne undgå, hvis der findes et filnavn i forvejen. Derfor har jeg prøvet med dette og mange andre ting uden held:
File1 = objUpload.Files.Item("File1").FileName If not File1 is nothing Then strSQL = "Update tabel set File1='" & File1 & "' where ID= " & objUpload.Form("ID") Conn.Execute(strSQL) End if
Men jeg kan ikke få det til at virke... Den indsættes stadig "ingenting". Nogle der kan hjælpe mig?
Øøh, Jeg skal lige være sikker. 1. Bruger skal ikke kunne submitte et tomt felt. 2. Du skal have unikke filnavne således at "gamle" filer ikke overskrives.
1. Er nok nemmest med noget validering med javascript på klienten. 2. Sørg for at alle filer får et unikt navn som ikke eksisterer i DB. F.eks.: strFilnavn = file1.filename rFilNavn = now() rFilNavn = Replace(rFilNavn,":", "") rFilNavn = Replace(rFilNavn,"\", "") rFilNavn = Replace(rFilNavn,"/", "") rFilNavn = Replace(rFilNavn,"-", "") rFilNavn = Replace(rFilNavn," ", "") strNytFilnavn = rFilNavn & "_" & strFilnavn file1.saveas = "c:/stien/til/din/mappe/" & strNytFilnavn
ahhh, rigtig smart med løsning 2. Den vil jeg anvende. Men løsning 1 ... er det slet ikke muligt uden java, eller er aspsmartupload så svær at danse med ?
Jo, det må du meget gerne. Men jeg har oplevet nogle problemer nu, da jeg ikke fik testet rigtig tidligere. Det virker fint med at den ikke fjerner filnavn fra databasen, men jeg kan ikke uploade oveni et eksisterende filnavn. Dvs. hvis der findes et filnavn i forvejen, kan jeg ikke lave dette om. Kan du hjælpe mig med at rette det. Det er jo sandsynligvis nok fordi den tjekker om database feltet er tomt, og ikke selve formen fra den foregående side. Har prøvet nogle forskellige variationer uden held. Her er min kode:
If len("" & trim(File1)) > 0 Then strSQL = "Update tabel set File1='" & Replace(objUpload.Files.Item("File1").FileName, "'", "''") & "' where ID= " &
If len("" & trim(Replace(objUpload.Files.Item("File2").FileName, "'", "''"))) > 0 Then strSQL = "Update tabel set File2='" & Replace(objUpload.Files.Item("File2").FileName, "'", "''") & "' where ID= " &
objUpload.Form("ID") Conn.Execute(strSQL) end if
- takker mange gange for hjælpen eagleeye.
Synes godt om
Ny brugerNybegynder
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.