Paikallisen kuvan lataaminen sivulle, polun selvittäminen

Anonyymi

Tarkoitus olisi saada käyttäjän valitsemaan omalta koneelta kuva, joka näytettäisiin sivulla.

Kuvan voi valita input-elementillä asettamalla type imageksi.

<input ref="fileList" type="file" accept="image/*"/>

Tuo tekee sivulle valintanappulan, joka aukaisee kuvatiedostojen valintaikkunan. Tiedostolistaus löytyy valinnan jälkeen elementin .files:stä, eli .files[0] on ensimmäinen tiedosto (tai tässä tapauksessa ainoa) jne.

Tarkoitus olisi sitten laittaa kohde-elementin .src:hen tiedostonimi polkuineen, mutta polkuna on "C:\fakepath", kun käyttää elementin value:ta. Tiedosto-objektissa taas ei ole kuin

lastModified: 1519296733000
​name: "testikuva.jpg"
​size: 27033
​type: "image/jpeg"
​webkitRelativePath: ""

On ilmeisesti joku tietoturvasyy miksi polku on piilotettu, mutta tässä tapauksessa kuvaa ei olla lähettämässä (upload) mihinkään, vaan pelkästään näytettäisiin se nettisivulla. Milläköhän tavalla saisi tuon polun selville?

6

227

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      <!DOCTYPE html>
      <html lang="fi">
      <head>
      <meta charset="utf-8" />
      <title>Esimerkki</title>
      <script type='text/javascript'>
      function NäytäKuva(event)
      {
      var reader = new FileReader();
      reader.onload = function()
      {
      var output = document.getElementById('Kuva');
      output.src = reader.result;
      }
      reader.readAsDataURL(event.target.files[0]);
      }
      </script>
      </head>
      <body>
      <input type="file" accept="image/*" onchange="NäytäKuva(event)">
      <br>
      <img id="Kuva"/>
      </body>
      </html>

      • Anonyymi

        Tattis, tuota FileReaderia käyttäen sain toimimaan.


      • Anonyymi
        Anonyymi kirjoitti:

        Tattis, tuota FileReaderia käyttäen sain toimimaan.

        Kännykässä näköjään Firefox Focus ei suostu näyttämään kuvaa, mutta Edge näyttää.


    • Anonyymi

      Mikään skripti ei pääse käsiksi dataan joka on eri lähteessä: https://en.wikipedia.org/wiki/Same-origin_policy

      Eli nettisivusi olisi sitten myös siellä "koneella" missä kuva valitaan. Eli HTTP palvelimella jako missä on se nettisivu ja kuvat niin sitten siellä voi valita.

      • Anonyymi

      • Anonyymi

        Juu, CORS-hässäkkä on tuttu. Tuossa vaan kokeilin Vuessa tehdä komponenttia, johon voi valita näkyvän kuvan paikallisesti. Aloitukseni otsikko oli sikäli harhaanjohtava, kun ei mitään varsinaisesti ladata, vaan pelkästään laitetaan img:n src:ksi valitun kuvan polku.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kumpi teki aloitteen?

      😃 häh
      Ikävä
      109
      4286
    2. Onko kaivattusi ulkoisesti

      paremman vai huonomman näköinen kuin exäsi? 🪤
      Ikävä
      78
      3496
    3. Oletko koskaan stalkannut kaivattuasi?

      Jos olet, miten olet stalkannut? Jäitkö kiinni? Onko hän stalkannut sinua? Jos on, miten suhtauduit?
      Ikävä
      83
      3350
    4. Karhuryhmä

      Kellään tarkempaa tietoa miksi ja missä karhuryhmä ollut? Perheväkivaltaa vai huumeperintää kenties taas?
      Jämsä
      25
      3249
    5. Just alkoi ottamaan päähän

      Miten voikin mennä näin, että koko päivän haluaa vain nähdä toisen ja lähelle. Sitten aivan salamana mieleen tulee kaikk
      Ikävä
      22
      3242
    6. Mitä kaikkea sä

      Olisit valmis tekeen mun eteen vielä? Vai oletko mitään?
      Ikävä
      72
      2916
    7. Raisionkaaren koira hyökkäys

      Taas nähtiin että koiriin ei voi luottaa. Eilen illalla vapaana ollut koira hyökkäsi Raisionkaarella kolmen henkilön kim
      Raisio
      64
      2797
    8. "Mielipide: Äärivasemmiston uhka on otettava vakavasti"

      Demokratia näyttäisi olevan Halla-aholle enemmänkin välttämätön paha kuin tavoiteltava asia. Väkivallan ihannointi ja m
      Maailman menoa
      45
      2790
    9. Tapa jolla kohtelit minua viimeksi miellytti erityisesti

      Osaat huomioida kauniisti ja katsot aina tilanteita yhteisen hyvän kannalta. Sitä arvostan erityisesti.
      Ikävä
      85
      2569
    10. Autolla törmäilijä

      Kuka törmäili yläkouluikäiseen pyöräilijään?
      Jämsä
      9
      2472
    Aihe