Avatar billede Jman Praktikant
09. maj 2004 - 11:48 Der er 7 kommentarer og
2 løsninger

AspSmartUpload - 2 spørgsmål

Jeg har to spørgsmål til følgende kode:

    for each file in upload.Files
    if (File.FileExt <> ".jpg") or (File.FileExt <> ".jpeg") or (File.FileExt <> ".zip") then
      response.redirect "index.asp?page=bestil.asp&mode=wrongext"
    end if
    If not file.IsMissing Then
      filnavn = sti & file.filename
      file.saveas Server.MapPath(filnavn)
      Photo = File.fileName
      FilStiNavn = sti & File.FileName & file.FileExt
    else
      FilStiNavn = ""
    end if
    next

1. Jeg forsøger at kontrollerer om filnavn hedder andet end ".jpg" eller ".jpeg" eller ".zip"
I så fald, må filen ikke uploades - men det virker ikke

2. Hvis filnavn allerede eksisterer, skal den tildeles "_1" og hvis den eksister skal den hedde "_2" o.s.v.

60p. pr nyttig svar
Avatar billede thesurfer Nybegynder
09. maj 2004 - 12:38 #1
1. brug "and" i stedet for "or":

    if (File.FileExt <> ".jpg") and (File.FileExt <> ".jpeg") and (File.FileExt <> ".zip") then
      response.redirect "index.asp?page=bestil.asp&mode=wrongext"
    end if
Avatar billede Jman Praktikant
09. maj 2004 - 12:40 #2
ja, selvfølgelig *DOH*
Avatar billede thesurfer Nybegynder
09. maj 2004 - 12:44 #3
Jeg tror at det her er bedre:

dim bad_files
bad_files = ""

    for each file in upload.Files
if (File.FileExt <> ".jpg") or (File.FileExt <> ".jpeg") or (File.FileExt <> ".zip") then
      bad_files = bad_files & file.filename & "<br>"
'      response.redirect "index.asp?page=bestil.asp&mode=wrongext"
'  end if
else
    If not file.IsMissing Then
      filnavn = sti & file.filename
      file.saveas Server.MapPath(filnavn)
      Photo = File.fileName
      FilStiNavn = sti & File.FileName & file.FileExt
    else
      FilStiNavn = ""
    end if
end if
    next

if bad_files <> "" then
bad_files = left(bad_files, len(bad_files) - len("<br>")) ' fjern det sidste "<br>"
response.write "<br><br>Følgende filer kunne ikke oploades, da det er forkert format:<br>" & bad_files
end if
Avatar billede Jman Praktikant
09. maj 2004 - 12:48 #4
ja, det kan man også. P.t. kører jeg dog kun med en fil ad gangen, så det er ikke betydende endnu - men tak for modifikationen :)
Avatar billede eagleeye Praktikant
09. maj 2004 - 17:53 #5
Du må lave et loop som tjekke om filen findes, samt bruge FSO til at tjekke som filen findes. Så dette kode.


    If not file.IsMissing Then
      filnavn = sti & file.filename
      file.saveas Server.MapPath(filnavn)
      Photo = File.fileName
      FilStiNavn = sti & File.FileName & file.FileExt
    else
      FilStiNavn = ""
    end if


bliver til noget som dette:


    If not file.IsMissing Then
      Set fso = Server.CreateObject("Scripting.FileSystemObject")
      filnavn = sti & file.filename
      i=1
      do while fso.FileExists(Server.MapPath(filnavn))
        filnavn = replace(file.filename,"."&file.FileExt,"")
        filnavn = sti & filnavn & "_" & i & "." & file.FileExt
        i=i+1
      loop
      file.saveas Server.MapPath(filnavn)
      Photo = File.fileName
      FilStiNavn = sti & File.FileName & file.FileExt
    else
      FilStiNavn = ""
    end if
Avatar billede KingMedia Novice
09. maj 2004 - 17:55 #6
File.FileExt udskriver intet punktum ..
Iøvrigt udskriver den for det meste i uppercase...
derfor kan du ikke validere på det..    prøv at ændre linien til

if (Lcase(File.FileExt) <> "jpg") or (Lcase(File.FileExt) <> "jpeg") or (LCase(File.FileExt) <> "zip") then


/Mads
Avatar billede Jman Praktikant
10. maj 2004 - 11:23 #7
kingmedia: Den med punktum hacde jeg løst inden.. (ved godt at man ikke kan se det i koden, men alligevel :/) så det var p.g.a. "and" og "or"

eagleeye: Jeg kigger lige på det senere i dag, men læg et svar alligevel, da jeg kan se fornuften i det :)

thesurfer: læg et svar :)
Avatar billede thesurfer Nybegynder
10. maj 2004 - 18:12 #8
..og et svar er lagt :-)
Avatar billede KingMedia Novice
15. maj 2004 - 10:17 #9
superior  >>  helt iorden :)  Jeg lagde bare mærke til det..

Husk også at Lcase() dine file.fileExt. 

Held og lykke :o)

/Mads
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