Autor Zpráva
hubipe
Profil
Dobrý den,
mám formulář pro nahrávání obrázků z lokálního disku na webový server. Chtěl bych udělat pomocí JS toto:
Nahrávající vloží do <input type="file"> obrázek z lokálního disku. Poté co se odkontroluje, že je to obrázek (koncovky jpg, jpeg, gif a png) se pod formulářem zobrazí tento obrázek -- tahá se z lokálního disku (tzn. C:\... apod.).

Zkoušel jsem různé nahrazování obrázku (document.getElementById('obrazek').src = 'file:///'+cesta), ale nikdy to nefungovalo pořádně. Mám požadavek, aby to fungovalo v co největším výčtu prohlížečů (IE + Opera + Gecko + Konqueror minimálně)

Děkuji za vaše sugestivní návrhy ;)
DJ Miky
Profil
Toto jsem také řešil, podařilo se mi to rozchodit jen pro IE, ostatní prohlížeče mi nepovolily tahat obrázek z disku...
hubipe
Profil
DJ Miky
Pokud ale napíšu do HTML <img src="file:///C:\nejakyobrazek.jpg"> tak ho v pohodě natáhne jak FF tak Opera. Takže by to teoreticky mělo jít i pomocí JS; nebo se pletu?
habendorf
Profil
Já pevně doufám že to nejde. JS by neměl mít přístup k souborům na klientovi (kromě cookies).

Uvažuj: Pokud by JS ten přístup měl, dostane se k jakémukoliv souboru a může ho třeba skrytě odeslat na server. Jak by se ti to líbilo, kdybych ti takhle proscanoval komp?
roberta
Profil
hubipe
k súborom na lokálnom disku klienta, našťastie, nie je prístup.
Big_G
Profil *
Samozřejmě to LZE. U input type=file používám událost onChange, která spustí funkci JS.
Ten přečte value inputu a dosadí ji do src obrázku.

Příklad:
function change2()

{
a=document.getElementById('obrazek').value;
document.getElementById('obr2').src=a;
document.getElementById('obr2t').value=a;
}

Kde 'obrazek' je input type=file, 'obr2' je obrázek, který chci nahradit aktuálně zvoleným a 'obr2t' je jméno nově zvoleného obrázku.

Mimochodem, proč by JS neměl mít přístup k souborům na klientovi, když VBS jej má, pokud vím, stále?
Toto téma je uzamčeno. Odpověď nelze zaslat.

0