ugrás a tartalomhoz

Javascript trükközés kép előnézethez

Anonymous · 2006. Okt. 7. (Szo), 09.39
A problémáma következő:

Addott egy hírdetési oldal, ahol a felhasználó képet is feltölthet.

Azt szeretném megoldani, hogy az adatok bevitele után a következő oldalon, ahol megtekintheti, hogy hogyan fog kinézni a hírdetése a kép is megjelenjen, de itt a bökkenő.

El szeretném kerülni, hogy már itt feltöltésre kerüljön a kép. ( lassabban jelenik meg az oldal, stb...)

Mivel itt a kép még csak a kliens gépén van, logikusnak tűnik, hogy javascriptel kellene megjeleníteni a képet, merthogy az is kliensoldalon fut. A gond, hogy például a file input mezőben megjelenő, pl: c:\képek\valami.jpg értékből a következő oldalon akárhogyan próbálom, csak a valami.jpg marad meg. Az útvonal lemarad.

Ezzel próbálkoztam:
<input name="userfile" type="file" class="button" size="27" onchange="if(this.value > '' )preview.value=this.value"/>
itt a preview egy egyszerű input mező, azt néztem, átadja-e az útvonalat is.
Persze nem működött...

Azután azzal próbálkoztam, hogy feltöltöttem a képet, majd a feltöltés után, miután a php kód lefutott, törlöm a képet, de hiába tettem az unlink parancsot a
</html> tag után, nem jelent meg a kép, pedig a kép kirajzolási kódja jóval előbb lefutott.

Mi lehet a megoldás?

A legjobban valami javascript-nek örülnék, mert így elkerülném a felesleges fájlfeltöltögetéseket.

Előre is köszi a segítséget!
 
1

Nem lehet felhasználó gépén lévő fájlra hivatkozni

Jano · 2006. Okt. 7. (Szo), 09.57
Nem lehet felhasználó gépén lévő fájlra hivatkozni, mindenképpen fel kell töltetned a felhasználóval a képet. Azon ne aggódj, hogy lassú, hiszen ha nem az előnézetnél, akkor a véglegesítésnél kell majd feltölteni.

(Esetleg elmagyarázhatod a usernek, hogyha feltöltés előtt ő lekicsinyiti a megfelelő méretre a képet, akkor nem fog annyi ideig tartani a feltöltése. De ezt ne mint utasítás add neki, hanem mint tipp.)
2

kivéve a gyevIE bíró :)

toxin · 2006. Okt. 7. (Szo), 11.25
http://toxin.hu/weblabor/up/upload.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>image preview test only IE</title>

<script language="javascript" type="text/javascript">

window.onload = function(){
    
   document.getElementById('browse').onchange = function(){
        var oTempImage = new Image;
        oTempImage.src = this.value;
        document.getElementById('prev_img').src = oTempImage.src;
    }
    
}
</script>
</head>
<body>

<img id="prev_img" src="imgpreview.gif" alt="prev_image" />

<form action="">
<input id="browse" type="file" value="" />
</form>

</body>
</html>
ezzel már régebben találkoztam de nem volt ilyen feladatom, ezért nem is tudok crossbrowser megoldást, de aki tudd, plííz :) ( IE elérakja a file:// + elérési út + fájlnevet és sanyi)

üdv t
3

Igen, de...

Anonymous · 2006. Okt. 7. (Szo), 11.41
Igen, iagzából erre gondoltam. Kár hogy tényleg csak IE alatt megy, mindegy. A lényeg, hogy elvi szinten jól gondolkoztam, és megoldható.

Még kutakodom a neten, valami univerzálisabb megoldásért is (opera, ff)
4

nem fog menni

amonrpg · 2006. Okt. 7. (Szo), 12.26
Ilyet csak és kizárólag IE alatt tudsz csinálni. Böngészőben nem, mivel biztonsági problémákat vet fel. Én még mindig azt javaslom, hogy töltsd fel a fájlt, és egy temp könyvtárból add vissza, amíg nem végleges.
5

re

toxin · 2006. Okt. 7. (Szo), 12.47
IE alatt tudsz csinálni. Böngészőben nem


:DDD , ezzel látod egyetértek

üdv t
6

a php - temp fájl megoldáshoz

Anonymous · 2006. Okt. 7. (Szo), 13.46
Nyitott vagyok minden jóra!

Először ezzel próbálkoztam, de az a probléma ezzel, hogy a feltöltött fájl csak addig létezett, amíg a php kód le nem futott és hiába a php "közepén" jelenítettem meg ( ...volna), a kimenetre már nem került ki.

A hivatalos php leírás szerint is a temp dolgok: fájl, könyvtár a szkript végére érve autómatikusan törlődik.

Próbáltam azt is, hogy feltöltöttem a fájlt, majd a kép megjelenítése jött, majd a fájllt töröltem. Azt gondoltam, hogy ha a képet ELŐBB megjelenítem, majd törlöm, akkor a kimeneten meg fog jelenni. De nem.

Szóval elakadtam...
7

Rossz sorrend

Anonymous · 2006. Okt. 7. (Szo), 13.59
- lefut a PHP szkript
- a végén törlöd a képet
- a kliens megjeleníti a generált oldalt
- már nincs meg a kép
8

mi a temp?

amonrpg · 2006. Okt. 7. (Szo), 14.12
Az attól függ, mit hívsz temp-nek.
Nem feltétlenül csak egyetlen temp lehet.
Definiálj saját tempet, ahova elteszed a fájlt, onnan kiszolgálod a preview-hez, de bizonyos eseménykor, vagy bizonyos időközönként törlöd a saját temp-edben található fájlokat.

Meg ne írjuk helyetted a cuccot? :-/

Ideje lenne azt hiszem elgondolkodnod, mielőtt kérdezel.
9

majdnem

toxin · 2006. Okt. 7. (Szo), 14.22
a teljes szerver oldal fentvan

http://weblabor.hu/forumok/temak/15389#comment-34650

túl sokat már nem kell dolgozni vele

üdv t
10

Nem kérem a megírást

Anonymous · 2006. Okt. 7. (Szo), 15.27
Lassan egy hete azon dolgozom, hogy a hírdetés modulom "felhasználóbarát" legyen. Az a fícsör, hogy a képet azonnal le tudja ellenőrizni, nem több, de nem is kevesebb, mint egy, -szerintem-, hasznos apróság. Ezzel ugyanis elkerüli a felhasználó hogy isdn vonalán a 100 kilóbájtos kép előnézetéhez 3 kávényi idő kelljen, majd rájön, hogy mégsem...innen kezdve minden feltöltős megoldás kiküszöbölendő. Ha nem megy máshogy, akkor inkább nem kell.

Az iwiw-et 1 milliárdért vették meg, de még ott sincs azonnali előnézet...akkor mit akarok én?

Egyébként jogos a kritika, részben, mert én is láttam már elég sok "csináljátok má' meg, lécci-lécci-léci" beírást. Én nem megoldást, hanem ötleteket vártam-várok.

Témaváltás. A neten utánanéztem, és sokezer kérdező biztosított arról, hogy a problémámmal nem vagyok egyedül. Egyébként meg mi ez a "biztonsági" szempont, ha java-ban meg lehet csinálni, akkor tök mindegy, hogy másban is meg lehet-e. Értem ezalatt, hogy a java ugyanúgy a gépemen fut, mint a javascript, és ugyanúgy a világháló sötét és ismeretlen mélységei felé röpíti legféltettebb bankszámlaszámomat, kódjaimat, mittudoménmimet stb...

Na mindegy, ha az iwiw-nek 1 milliárdért nincs ilyenje, akkor lehet, hogy én is megleszek nélküle...

Szeretet és Béke, Testvéreim!
11

Csak IE, akkor miről beszélünk?

Jano · 2006. Okt. 8. (V), 17.55
Ha egy dolog csak IE alatt megy és a többi böngészőben nem, akkor az szerinted megoldásnak tekinthető?

(Egyébként a felhasználó a böngészőjében is "előnézheti" a képet mivel a kiböngészéshez használt Intézőben is van olyan nézet, amiben a képek látszanak.)

Az ötleted és az igyekezeted is jó, csak sajnos ennek biztonsági korlátai vannak. Esetleg Flash?