Upload přes AJAX - Krutá realita

Upload přes AJAX

22.11.2005

ajax

Velice zajímavou novinku uvedl GMail, když zprovoznil asynchronní nahrávání souborů na server. Ihned potom, co vyberete soubor se v pozadí začne nahrávat na server. Zatím mám k dispozici jen javascriptovou verzi pro Mozillu, a tak budu rád, pokud mi někdo zašle také funční skript pro Internet Explorer, který neumožňuje duplikaci DOM objektů FILE.

HTML kód

<input id="cc_pd_select_photo" type="file" accept="image/gif,image/jpeg,image/png" name="cc_pd_photo" onchange="Element('cc_pd_photo').src = 'file://' +Element('cc_pd_select_photo').value">
_

Javascript kód

<script type="text/javascript"> ccPeopleFullAddPlugin.prototype._photoUpload = function() { this.DOM.personalPhotoFileMoz = document.getElementById ('cc_pd_select_photo');   if (this.DOM.personalPhotoFileMoz.value != '' && !is_ie) { var nodes; var form, frame, old_frame;   if (!this.DOM.personalPhotoFrame) { this.DOM.personalPhotoFrame = document.createElement('iframe'); this.DOM.personalPhotoFrame.id = 'cc_photo_frame'; this.DOM.personalPhotoFrame.style.visibility = 'hidden'; this.DOM.personalPhotoFrame.style.top = '0px'; this.DOM.personalPhotoFrame.style.left = '0px'; this.DOM.personalPhotoFrame.style.position = 'absolute'; document.body.appendChild(this.DOM.personalPhotoFrame);   }   form = this.DOM.personalPhotoFrame.contentDocument.createElement('form');   form.id = 'cc_form_photo'; form.method = 'POST'; form.enctype = 'multipart/form-data'; this.DOM.personalPhotoFrame.contentDocument.body.appendChild(form);   form.action = this.postPhotoURL+(this.entryID ? this.entryID : '');   var input_clone = this.DOM.personalPhotoFileMoz.cloneNode(false); form.appendChild(input_clone);   form.submit();   } } </script>

Zdroj: sourceforge.net
Licence: LGPL

Přidat komentář

:-D 8-) :-) ;-) :-o :-( :evil: :idea:

Pro příspěvky je vyžadována podpora obrázků

Pro ověření zde prosím napište text, který vidíte na obrázku

Syntax Error od Jakub Vrána

22.11.2005 #

Až na tu Syntax Error způsobenou nějakým "chytrým" doplňovačem odkazů. Po Copy-Paste by neškodilo to alespoň vyzkoušet.

od Jorge

22.11.2005 #

Nemohl bys sprovoznit demo pokousim se tento skript rozchodit, ale nejde mi to. Nebo aspon uvest funkcni zdrojovy kod, ktery by byl ke stazeni a mohli bysme jej hned otestovat.
Dekuji moc

od DiGi

22.11.2005 #

jen to vypada, ze to tak funguje jen s English (US) nastavenim, v "Cesky" se to chova uplne stejne. Take sem si vsiml, ze ten "Autosave" take funguje pouze v English (US), stejne tak definice Uctu pro psani mailu s jinym FROM... Jsou to sycaci!  :(  ;)

Chybka od Tomáš Kučera

22.11.2005 #

Mala poznamka: u ukazky HTML kodu se v IE smrstuje ten zluty prouzek.
Takze nejde precist.

Re: Upload přes AJAX od Llaik

23.11.2005 #

A je nutne ten input.file duplikovat? Napada me reseni i bez jeho duplikace, ale nejsem dost genialni na to, abych si nasel cas to zkusit.  :)

od TroN

23.11.2005 #

O nedávném zjištění díry v gmailu napsat nechceš?

Re: Upload přes AJAX od Lukyer

21.11.2007 #

Zdravim, ctu vas blog a zajimal by me, jestli byste nemel nejake reseni pro tenhle problem... Jde o to, ze pomoci ajaxu, konkretne ajax.gets umim zjitit obsah jakehokoliv textoveho souboru. Jenze ja bych potreboval precist, nejak zakodovat a posleze rozkodovat obsah binarniho souboru. Proste aby po pouziti ajax.gets("soubor.mp4") se zakodoval obsah do textu a slo s nim dale manipulovat (ulozeni pres php do souboru atd) , ale aby byl soubor zpetne dekodovatelny.

Jestli vite zdali je tento problem resitelny, prosim ozvete se.

Diky predem