Avatar billede pollewop Nybegynder
27. oktober 2003 - 19:16 Der er 13 kommentarer og
1 løsning

Problem med file upload

Jeg har en jsp som bla. indeholder flg;

<script>
function setMenuChoice( choice ){
    if( choice == '1' )
      pic_file.click();
    else if( choice == '2' )
      resetPic();
    else if( choice == '3' )
      zoomPic();
}
</script>

<body>
  <form name="message" action="...action" method="post" enctype="multipart/form-data">
    <img name="mf_pic" src="<%= msg.getMfPic()%>"  onMouseDown="menu()" width="100"                                     height="75" alt="">
   
    <div style="position:absolute; visibility: hidden;">
        <input name="pic_file" id="pf" type="file" accept="image/jpg"                             onChange="mf_pic.src= pic_file.value">
    </div>
        <script>document.getElementById('mfp').onclick =
                        document.getElementById('pf').click</script>
    </form>
</body>


Når jeg gør pic_file synlig og klikker på knappen virker det, men når jeg kalder pic_file.click(), får jeg fejlmeddelelsen: "Fejl: Adgang nægtet" Hvorfor??? og hvad kan jeg gøre ???

Jeg har kigge på en løsning fra Morten Rønnn Rasmussen på Netcoders, for at ændre på upload grænsefladen:

<input type="text" id="tbFile" name="ifDummy" readonly>
<button id="spFile>Find fil>/button>
<div style="position:absolute; visibility: hidden;">
  <input name="MinFil" id="ifFile" type="file" onChange="tbFile.value = ''+ifFile.value">
</div>
<script>document.getElementById('spFile').onclick =
                        document.getElementById('ifFile').click</script>


Ovenstående virker fint, men igen, når jeg aktiverer upload fra script får jeg samme fejlmelding.
Avatar billede erikjacobsen Ekspert
27. oktober 2003 - 19:19 #1
Er <%= msg.getMfPic()%> et filnavn hos brugeren eller på serveren
Avatar billede olebole Juniormester
27. oktober 2003 - 19:20 #2
<ole>

Det sikkerhedshul er heldigvis blevet lukket. Du kan ikke scripte på en type=file. Du kan heller ikke submitte formen med en submit-knap. Formen bliver blot tømt og du har intet på serveren.

En type=file ser ud, som den nu engang ser ud ... det må du lære at leve med  :)

/mvh
</bole>
Avatar billede erikjacobsen Ekspert
27. oktober 2003 - 19:21 #3
Ok - det har ikke noget at gøre med den fil du uploader ... jeg kan jo
også bare læse hvad du skriver ;)
Avatar billede olebole Juniormester
27. oktober 2003 - 23:40 #4
Hvorfor afviser du ...?!?!! Du har da fået et fuldt korrekt svar
Avatar billede pollewop Nybegynder
27. oktober 2003 - 23:40 #5
msg.getmfPic() er en bønne og dermed på serveren. Det er i øvrigt ikke trafiken fra server til klient jeg har problemer med.

Der er "bare" om jeg kan aktivere file taggen med et script kommando
Avatar billede olebole Juniormester
27. oktober 2003 - 23:43 #6
Vi prøver lige igen:

Dit script ovenfor (som jeg selv er ophavsmand til her på E) duer ikke længere. Det byggede på en bug i IE, som er blevet patched.

Der eksisterer ikke nogen mulighed for at ændre udseende på en type=file knap ... og du kan ikke scripte på en type=file uden at få adgangen til at submitte formen frataget.
Avatar billede olebole Juniormester
27. oktober 2003 - 23:46 #7
... og det hjælper i øvrigt heller ikke at bruge korrekt syntaks:
  <script>document.getElementById('mfp').onclick = document.getElementById('pf').click()</script>
Avatar billede pollewop Nybegynder
27. oktober 2003 - 23:46 #8
Fuld korrekt svar?????

Det andet eksempel viser hvordan man kan ændre grænsefladen til <input file>. det virker fint. Jeg kan sagtens får tingene til at glide når jeg sætter <img onclick = <input file click.
Avatar billede olebole Juniormester
27. oktober 2003 - 23:46 #9
Ups .... glem min sidste kommentar  :D
Avatar billede olebole Juniormester
27. oktober 2003 - 23:48 #10
Så skal du sandelig se at få din IE pathced. Ellers står din PC jo åben som en ladeport.
Du _kan_ ikke bruge det hack med en fornuftig patched IE. Hvis du kan, er det intet mindre end en sensation!  :)
Avatar billede pollewop Nybegynder
27. oktober 2003 - 23:49 #11
Jeg kan nu alligevel bruge en eller flere kommentar omkring file upload problemet. ( jeg er nu også nybegynder i javascript ).
Avatar billede olebole Juniormester
27. oktober 2003 - 23:51 #12
PS: Det er et temmelig hot samtaleemne i de fleste kodefora for tiden. Her på sitet har det været oppe mindst tre gange indenfor den seneste uge  :)
Avatar billede olebole Juniormester
27. oktober 2003 - 23:56 #13
Hverken phoenixv eller jeg er nye indenfor JS - for nu at sige det mildt - og som du ser her, blev vi for nylig enige om, det ikke kan lade sig gøre:
  http://www.eksperten.dk/spm/416371

Jeg opdagede det ved et tilfælde for kort tid siden, da jeg selv sad og kodede på et større CMS - med en yderst kompleks front.
Selvfølgelig er det umiddelbart irriterende, men det var et gabende sikkerhedshul, at man kunne scripte på netop det element  :)
/mvh
Avatar billede pollewop Nybegynder
28. oktober 2003 - 12:10 #14
Jeg har set på linken. Tak for det.
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