Autor Zpráva
rudasek
Profil *
Zdravím,

mám script na upload s progressbarem, vše funguje.

Vymyslel jsem si tlačítko Zrušit - když probíhá upload talčítko se zobrazí a po kliknutí na něj se má přerušit upload, řeším to pomocí JS a reload stránky.
Jenže funkční je pouze v IE.
To znamená, že když kliknu na Zrušit, v IE se provede reload a upload se ukončí, ale další prohlížeče se chovají podobně. Po kliknutí na Zrušit se stránka sice reloadne, ale upload probíhá dál než se přenese celý soubor, a to i po násilném zabití v procesech kde zabiju prohlížeč.
prostě se vytvoří nějáký tunel kde se vše posílá max rychlostí internetového připojení, než odejde i poslední bit nahrávaného souboru, mám to zjištěno pomocí jakékoli aplikace (programu, doplňku) co sleduje stav na síti.

otázka tedy zní: Jak úplně přerušit upload ve všech prohlížečích, když kliknu na Zrušit?

(marně jsem zatím pokládal otázky googlu a nevím kde hledat řešení)

Děkuji
Juandev
Profil
Zkuste IRC.
rudasek
Profil *
IRC neznám a nevyužívám.
když se připojím k IRC, kde bych se měl ptát, je tam někde přímo nějaká sekce kde se řeší určité záležitosti?
Někam mě nasměrovat s mým dotazem.
_es
Profil
rudasek:
Ťažko ti niekto poradí konkrétne riešenie problému s nejakým neznámym „scriptom na upload s progressbarem“ a nejakým neznámym „vymysleným tlačítkom Zrušit“.
rudasek
Profil *
_es:
ty jsi to asi nepochopil, tak si to přečti pořádně

Položím otázku tedy jinak.. Jak přerušit probíhající upload?
Jedním řešením je reload stránky, ten funguje jen v IE. Potřebuji aby to bylo funkční i v ostatních prohlížečích. Vypadá to, že ostaní prohlížeče odesílají data na pozadí a tudíž nejde při reloadu upload zrušit. Jaký je jiný způsob?
Juandev
Profil
rudasek:
IRC neznám a nevyužívám.
když se připojím k IRC, kde bych se měl ptát, je tam někde přímo nějaká sekce kde se řeší určité záležitosti?
Někam mě nasměrovat s mým dotazem.
Když už se dostanete do irc, pak na server irc.freenode.net, zde jsou místnosti jako #google, #opera. Naopak FF má svůj vlastní IRC server a je to něco jako irc.mozilla.org #firefox. Další relevantní místnosti by mohli být i na freenode a sice #web či #javascript.

Good Luck!


Jinak k připojení na IRC se dá používat kde co, na Wikipedii je srování s odkazy. Dokonce i různá služby jako Digsby, Miranda apod.
Chamurappi
Profil
Reaguji na rudaska:
ty jsi to asi nepochopil, tak si to přečti pořádně
Pochopil, že používáš nějaké sofistikovanější řešení. Dle mých zběžných pokusů se popisovaný jev při běžném uploadování neděje, takže ten problém nejspíš bude specifický pro blíže neurčený skript „na upload s progressbarem“. Prosím o odkaz na živou ukázku. Mimochodem napsat někomu, že něco nepochopil, jde diplomatičtěji.

Nezmiňuješ ani verzi Exploreru, takže netušíme, jestli se v něm uploaduje přímo, nebo třeba přes flash či silverlight.

Ten Explorer běží na stejném stroji i systému jako ostatní prohlížeče? Nemůže do hry v případě ostatních prohlížečů vstupovat i nějaký další prvek? Třeba nějaká proxy, která si uploadovaná data rychle nacucne a pak je odesílá nezávisle — pak by potíž vůbec nesouvisela s prohlížečem.


Reaguji na Juandeva:
Co mu to radíš za nesmysly? K tomu, abychom našli řešení, jsme tu my — proto se ptá nás. Další spamování s IRC není žádoucí. Tohle bys mohl psát pod vesměs libovolný dotaz a jediné, co by z toho vzešlo, je diskutér zbytečně odcházející pryč, na komunikační kanál, který (většinou) není zaindexovaný ve vyhledávačích. Tady je položený dotaz, tady by měla být i odpověď. Minimálně mě by zajímaly podrobnosti, tak ho laskavě nevyháněj. Tématem rozhodně není hledání místa, kde se dá ptát, tématem je rušení uploadu. Hm, tohle šlo asi také napsat diplomatičtěji…
Juandev
Profil
Chamurappi:
Co mu to radíš za nesmysly? K tomu, abychom našli řešení, jsme tu my — proto se ptá nás. Další spamování s IRC není žádoucí. Tohle bys mohl psát pod vesměs libovolný dotaz a jediné, co by z toho vzešlo, je diskutér zbytečně odcházející pryč, na komunikační kanál, který (většinou) není zaindexovaný ve vyhledávačích. Tady je položený dotaz, tady by měla být i odpověď. Minimálně mě by zajímaly podrobnosti, tak ho laskavě nevyháněj. Tématem rozhodně není hledání místa, kde se dá ptát, tématem je rušení uploadu.

Porušil jsem nějaké pravidlo tohoto fora? Sám rudasek uvádí, že hledal odpověd i v Google Product foru a nenašel, tak ho odkazuji na místo, kde by mohl najít odpověď, protože jeho cílem, není mít řešení tady na foru, ale najít řešení svého problému a ten problém vyřešit. Já jsem také svůj problém vyřešil před chvíli na IRC.

Stačí dotazujícího vyzvat, aby při vyřešení problému zapsal sem (nebo někam řešení).
Chamurappi
Profil
Reaguji na Juandeva:
Porušil jsem nějaké pravidlo tohoto fora?
Jen doporučení.

uvádí, že hledal odpověd i v Google Product foru
Já teda pochopil, že hledal Googlem, o žádném „product foru“ nepadlo ani slovo. Tohle je zbytečné rozebírat. Zajímá mě (ne)přerušování uploadu, nikoliv IRC, to tu vůbec nemá co dělat, kontraproduktivní offtopic…
rudasek
Profil *
vše je děláno klasicky
odesílací formulář, a script s move_uploaded_file

struktura je jednoduchá:

index.php
- obsahuje 2x iframe
- v jednom vkládám upload.php s formulářem pro odeslani a scriptem ke zpracování
- druhý iframe (getprogress.php) vypocitava stav uploadu a vraci procenta, aktualizuji iframe přes JS a beru z něho procenta do prograssbaru
- dále tu je JS který zobrazí progressbar a provádí další funkce

je to děláno podle www.php.net/manual/en/session.upload-progress.php

Je to vše v testovací verzi, takže jde jen o funkčnost.
Živá ukázka k otestování a náhledu www.satelier.cz/pokus/

zkoušel jsem i upload.php sám o sobě jako stránku kde je jen formulář a reloadnout (F5 v prohlížeči), stránka se načte znovu, odesílání probíhá dál..

myslím si že to bude problém každého prohlížeče, IE akorád funguje jinak, nevím jak ostatní mají podobné jádro a z čeho přesně vycházejí

používám vždy poslední verze prohlížečů (IE, FF, Opera, Chrome), jeden notebook, OS WIN 7 SP1 a virtuálně WIN XP SP3 (obojí poslední aktualizace), připojení do světa přes O2 modem
z jiných zařízení jsem nezkoušel upload, nechtělo se mi instalovat "něco" na sledování stavu sítě

testoval jsem více hostigů (přesněji 2) na můj problém a je to stejné, stačí mít klasický formulář pro nahrání a otestovat si to a hlídat přitom odchozí data po síti, jestli se přeruší odesílání při aktualizaci stránky nebo až se odešle soubor celý
<form id="form1" action="" method="POST" enctype="multipart/form-data">
        <input type="hidden" name='<?php echo ini_get("session.upload_progress.name"); ?>' value="123" />
        <input id="file1" type="file" name="file[]" multiple /><br>        
        <input name="upload" type="submit" value="Upload" />
</form>

Chamurappi:
ano šlo to napsat diplomatičtěji, ale podle toho jak to napsal _es jsem pochopil, že si přečetl jen 3 věty mého příspěvku
tedy se omlouvám, více to řešit nebudu

Juandev:
dík za tip
Chamurappi to pochopil správně s googlem, žádné Product forum. Jen jako vyhledáváč (cancel upload, zrušit upload, abort upload, ...)

P.S.: vše odkazuje většinou na $_SESSION[$key]["cancel_upload"] -> www.php.net/manual/en/session.upload-progress.php
což ale zřejmě nefunguje (jsou hlášeny bugy) a nepovedlo se mi to zprovoznit
_es
Profil
rudasek:
Otázne je, prečo očakávaš, že reload stránky by mal zrušiť odosielanie súboru. Opačný proces - sťahovanie nejakého súboru sa predsa tiež nezruší len preto, že si zo stránky, kde bol odkaz na súbor, prešiel na inú stránku.

a to i po násilném zabití v procesech kde zabiju prohlížeč.
Ktorý konkrétny prehliadač? Asi si „nezabil“ ten správny proces. Niektoré prehliadače sú spustené aj po zavretí ich okna „na pozadí“ kvôli ich neskoršiemu spusteniu.

podle toho jak to napsal _es jsem pochopil, že si přečetl jen 3 věty mého příspěvku
Prečítal som to celé niekoľkokrát, no z toho popisu to vyzeralo, že asi používaš nejaký flashový objekt, či niečo podobné. To predpokladal aj v [#7] Chamurappi. Čo myslíš, prečo ti tak dlho nikto neodpovedal?
Juandev
Profil
No a jak to řeší plugin AddBlock v FF? Ten přeci taky brání v natahování určitých bloků na stránce.
rudasek
Profil *
_es:
vypozoroval jsem si které procesy se spustí při otevření (spuštění) prohlížeče a ty jsem pak zabil (jedná se o jeden proces např firefox.exe)

už nevím jak jsem došel k tomu, že reload by měl ukončit upload (někdy hodně googlim (skoro pořád, když něco nvm)), ale když přerušim nějakou akci tak se nedokončí a klavesa ESC nefungovala
možná reload není správné řešení

ulozto nemá tlačítko zrušit, alespoň jsem ho nenašel
na YouTube tlačítko Zrušit je a funguje a myslím, že celkově u Google a jeho služeb to tak funguje, ale nezkoušel jsem.. jen YouTube.

Juandev:
podle mě AddBlock brání načítání z www.neco.bla/* .. když si rozklikneš nastavení a filtry tak to tam vidíš, je to velká databáze (seznam) reklamních serveru/složek..
_es
Profil
rudasek:
na YouTube tlačítko Zrušit je a funguje
Novšie prehliadače umožňujú aj iné odosielanie súborov pomocou JS a formulárov - neviem, či je to použité aj tam.

Môže sa tiež líšiť funkčnosť pri testovaní na localhost a na webe.
Juandev
Profil
rudasek:
podle mě AddBlock brání načítání z www.neco.bla/* .. když si rozklikneš nastavení a filtry tak to tam vidíš, je to velká databáze (seznam) reklamních serveru/složek..
No jo, ale některé ty reklamní věci jsou přeci média. Když brání zobrazení bannerů, což jsou obrázky, mohl by obsahovat řešení výše uvedeného problému.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: