Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:27.10.2018 13:01

Ahoj mám následující otázku. Dělám v .net mvc a potřeboval bych nějakou chytrou věcičku nejspíše v jquery, do které si můžu nahrávat obrázky, ty by se mi ukládaly do pole jako HttpPostedFileBase a náseledně by se poslali pomocí formu. Přesně nevím jak funguje například i nahrání jednoho obrázku přes normální tlačíko, takže pokud by mi to někdo vysvětlil byl bych rád. Jenom ještě dodám nechci upload areu, takže nic jako drozpzone, kam obrázek nahraju a hned se nahraje na server. De mi jenom o to, že zmáčknu tlačítko nahraju obrázek, ten se zobrazí a tahkle jich nahraju třeba 5 a až po tom co uložím záznam se uloží i obrázky, pošlou se jako pole HttpPostedFileBase souborů. Předem děkuji za rady.

Zkusil jsem: Zkoušel jsem hledat, ale našel jsem věci podobný spíše dropzone.

Chci docílit: Příjemnému nahrání obrázků.

 
Odpovědět
27.10.2018 13:01
Avatar
don.jarducius:27.10.2018 21:26

Ahoj,
zaměřil bych se na blob … viz. např. a embeding data viz např.

Nahoru Odpovědět
27.10.2018 21:26
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:27.10.2018 23:11

Ahoj děkuji za odpověď a není přímo nějaký plugin? A jak ten blob přesně funguje? to si následně musím všchny soubory stáhnout z té adresy?

 
Nahoru Odpovědět
27.10.2018 23:11
Avatar
don.jarducius:28.10.2018 19:14

Teda nevím na co nějaký plugin … vždyť to jde udělat na "pár" řádků.
Návod pro práci se soubory a blobem

Nahoru Odpovědět
28.10.2018 19:14
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:29.10.2018 2:02

A obrázky si teda následně v Controlleru stáhnu podle url?

 
Nahoru Odpovědět
29.10.2018 2:02
Avatar
Odpovídá na Petr Kasnal
don.jarducius:29.10.2018 7:49

Ne, musíš si je odeslat např. AJAXem. Pak ti do controlleru "přistanou" podle zbůsobu, co si zvolíš, ale nejlépe si data odeslat jako soubor a pak si je jako uploadovaný soubory najdeš v controlleru.
Viz.

Nahoru Odpovědět
29.10.2018 7:49
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:30.10.2018 16:19

Ať se snažim jak se snažim vůběc mi to nejde...

 
Nahoru Odpovědět
30.10.2018 16:19
Avatar
Odpovídá na Petr Kasnal
don.jarducius:30.10.2018 18:28

Která část ti nejde? Práce na straně klienta, nebo odeslání na server?

Nahoru Odpovědět
30.10.2018 18:28
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:30.10.2018 20:37

Odesílání na server. Dá se to nějak poslat bez pomocí Ajaxu?

 
Nahoru Odpovědět
30.10.2018 20:37
Avatar
Odpovídá na Petr Kasnal
don.jarducius:30.10.2018 22:04

No... tomu se asi nevyhneš, velmi jednoduchý příklad je zde:
https://stackoverflow.com/…an-html-form

Javascript na straně klienta, v C# by to měli být uploadované soubory

var formData = new FormData();
formData.append("name", blob, filename);
formData.append("JinyName", DalsiBlob, JmenoSouboru);
.
.
.

var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.send(formData);
Editováno 30.10.2018 22:06
Nahoru Odpovědět
30.10.2018 22:04
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Odpovídá na Petr Kasnal
don.jarducius:30.10.2018 22:07

To name označuje name prvku
tedy:

<input type='file' name='toto je to name' />
Nahoru Odpovědět
30.10.2018 22:07
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Odpovídá na don.jarducius
Luboš Hnědý:31.10.2018 7:44

Děkuju musím to tedy udělat přes ten ajax, to mi úplně nevyhovuje, ale co se dá dělat.... Díky pak dám vedět.

 
Nahoru Odpovědět
31.10.2018 7:44
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:31.10.2018 13:45

No, ajax tam musis mit vzdycky, kdyz chces neco odesilat.
Jako, asi by to slo i formem, ale prijde mi to pak uz zbytecne. Pokud existuje technologie pro drop obrazku, souboru funguje jen v modernim prohlizeci.

Ja si hral nedavno s timto, treba.
https://mlich.zam.slu.cz/…-peter-b.htm
Drag, dropnes obrazek z plochy nebo ze stranky. Orezes a ulozis. Jenomze kvuli bezp. politice FF to funguje pro jinou domenu jen v IE.

A potom jsem si hral s timto
https://webapp.fpf.slu.cz/…as3-view.htm
Importnes tam ze souboru csv tabulku. Muzes si ji filtrova. a vysledek ulozit opet do csv.
Csv umi otevirat excel.
view-source:https://webapp.fpf.slu.cz/…le-reader.js
Tam mas cely js kod, ktery se zabyva souborem.

A pak mam jeste jinou verzi toho souboru file-reader.js i s ukladanim
https://webapp.fpf.slu.cz/osob_stranky/

  • vyberes si gryc
  • dole Edit
  • kliknes Edit content

A save bude volat ukladaci program, ktery ale nema dodelany, takze jsem to zakomentoval. Ten to resi tim ajaxem, ktery se ti tolik nelibi.
view-source:https://webapp.fpf.slu.cz/…le-reader.js
WRITER.func.fi­leToUrl(url, data);

this.func.fileToUrl = function(path, data)
        {
        var form_data;
        form_data = new FormData();
        form_data.append('data', data);
        root.req = new XMLHttpRequest();
        root.req.onload  = root.opt.cbRequest;
        root.req.onerror = root.opt.cbRequestError;
        root.req.error_path = path; // ukladam si url pro vlastni potrebu pro error hlasku
        root.req.open('POST', path, true);
        root.req.send(form_data);
        }
Editováno 31.10.2018 13:46
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
31.10.2018 13:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.