Avatar billede nythjem Nybegynder
25. marts 2005 - 19:05 Der er 14 kommentarer og
1 løsning

Validering af filtype?

Hej Alle!

Jeg vil gerne lave en validering af filtypen der bliver uploadet. Lad os sige, at der kun må uploades .doc og .xls dokumenter.

Hvordan gør jeg det?

<script type="text/javascript">

function validering(f){
  if(f.FILE1.value==''){
    alert('Kun filer af typen .Doc accepteres');
    f.FILE1.focus();
    return false;
  }
  return true;
}

</script>


<FORM ACTION="upload_fil.asp?upload=true" METHOD="POST" ENCTYPE="multipart/form-data" onsubmit="return validering(this)">
<input type="file" style="width:290px;" name="FILE1">

<input type="submit" value="Upload">
</form>
Avatar billede alister_crowley Nybegynder
25. marts 2005 - 19:06 #1
hvorfor ikke bare bruge ASP til at validere filtypen ?
Avatar billede nythjem Nybegynder
25. marts 2005 - 19:14 #2
Fordi min validering af en eller anden grund konflikter med min upload komponent :)
Avatar billede barklund Nybegynder
25. marts 2005 - 19:36 #4
Ellers er det vist bare:

if (!f.FILE1.value.match(/.+\.(doc|xls)$/)) {
  ...

Tror jeg :)

--
Morten Barklud
Avatar billede alister_crowley Nybegynder
25. marts 2005 - 22:33 #5
Men det kan aldrig anbefales at bruge JS til vigtig validering, da jeg jo bare kan slå JS fra, og så kører det fint :o)
Avatar billede roenving Novice
26. marts 2005 - 12:51 #6
Men det kan altid anbefales at bruge javascript til en client-side validering, da man så kan undgå tåbelige uploads !-)

Men der skal alligevel valideres server-side, bl.a. fordi du er nødt til at validere content-typen, og det kan du ikke gøre med javascript !o]
Avatar billede barklund Nybegynder
26. marts 2005 - 13:15 #7
Dog kan content-typen også fakes, da den sendes med at klienten. Så hvis det for eksempel er php, så skal man lige validere sine billeder en ekstra gang med getimagesize eller validerer øvrige filtyper med exec("file") for eksempel.

Det synes jeg i hvert fald, at man bør :)
Avatar billede nythjem Nybegynder
28. marts 2005 - 14:46 #8
Hej Alle!

Jeg beklager jeg har ladet Jer vente.

Tak for svarene. Jeg kan se, at jeg vist bliver nødt til at finde en anden løsning i asp :)

God dag.. :)
Avatar billede barklund Nybegynder
28. marts 2005 - 14:48 #9
Så kaster jeg et lille svar :)
Avatar billede nythjem Nybegynder
28. marts 2005 - 17:07 #10
Hej Barklund!

Er det muligt, at lave en udelukkelse i if (!f.FILE1.value.match(/.+\.(doc|xls)$/)) {
, så den udelukker visse filtyper?
Avatar billede roenving Novice
28. marts 2005 - 17:10 #11
Ja, man kan jo tilføje en betingelse:

if (!f.FILE1.value.match(/.+\.(doc|xls)$/) || f.FILE1.value.match(/.+\.(com|exe)$/)) {
Avatar billede nythjem Nybegynder
28. marts 2005 - 17:25 #12
Jes, en redningsmand i nød.

Jeg har kigget lidt på det, og det er alt for besværligt, hvis jeg skal til at lave godkendelse på alllllleeeee de filtyper der findes.

Så er det muligt, at udelukkende lave det til en udelukkelse? ALtså noget lignende

  if (!f.FILE1.value.match(/.+\.(com|exe)$/)) {
Avatar billede roenving Novice
28. marts 2005 - 17:27 #13
Det er faktisk bedst kun at godkende dem, som du vil modtage (altså den oprindelige kode !-)

-- for det er sjældent, at det er en uoverskuelig mængde, mens netop alle ugyldige præcis er en fuldstændig uoverskuelig mængde !o]
Avatar billede nythjem Nybegynder
28. marts 2005 - 17:32 #14
Ja, det kan du have ret i. Jeg afgrænser ;-)

God påske Jes.
Avatar billede roenving Novice
28. marts 2005 - 17:34 #15
ilm !-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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