zobrazení uploadovaného obrázku v šabloně
- mardon
- Člen | 59
Zápasím tady se zobrazením uploadovaného obrázku v šabloně.
function renderDetail($slug)
{
$record = $this->recordFacade->getBySlug($slug);
if (!$record) {
$this->error();
}
$this->template->record = $record;
$image = Image::fromFile('holubicka.jpg');
$this->template->image = $image;
}
{block content}
<div class="container">
<div class="row">
<div class="col-xs-12">
<h1>{$record->name}</h1>
<div>
{$record->text}
</div>
<div>
{$record->email}
</div>
<div>
{$record->adress}
</div>
<div>
{$record->created}
</div>
<div>
<img source="{$image|dataStream}">
</div>
</div>
</div>
</div>
{/block}
ale nic se mi nezobrazuje
- David Matějka
- Moderator | 6445
ne <img source=
, ale <img src=
.. a data
stream doporucuji pouzivat spise mene nez vice a jen u mensich souboru..
- Jiří Nápravník
- Člen | 710
Šaman napsal(a):
Datastream neznám, ale atribut
src
má obsahovat cestu k souboru, nikoliv samotný obrázek.
Nemusí. Může obsahovat samotný soubor v base64, tzv. data-uri.
- Mesiah
- Člen | 240
Jiří Nápravník napsal(a):
Šaman napsal(a):
Datastream neznám, ale atribut
src
má obsahovat cestu k souboru, nikoliv samotný obrázek.Nemusí. Může obsahovat samotný soubor v base64, tzv. data-uri.
ale pak musí být nastaveny rozměry obrázku, ty nejsou obsahem base64, pokud se nepletu.
PS: holubicka.png je jen pro případ popisu chyby na fóru, nebo skutečně máš jen prostě cestu ‚holibicka.png‘? Co dostáváš na dump?
Editoval Mesiah (4. 1. 2014 1:07)
- mardon
- Člen | 59
Robyer napsal(a):
Zkuste přidat ještě modifikátor
|nosafeurl
. V Nette 2.3.0 je automatická ochrana, která dovoluje mít v href, src a podobných atributech pouze http nebo ftp odkazy. Zřejmě proto to nedovolí ten base64 řetězec.
potvrzuji pokud upravím na
<img src="{$image|dataStream|nosafeurl}">
obrázek se již zobrazí.
Nicméně v aplikaci dám na doporučení a do šablony budu posílat cestu k souboru s obrázkem.