---
title: "Odpovede a data URI — QR for Laravel | Roundly"
description: "Vracajte kódy ako zabezpečené odpovede image/svg+xml, vynúťte stiahnutie, vkladajte data URI a img tagy a postavte bezpečnú routu."
url: https://roundly-consulting.com/sk/open-source/navody/qr-for-laravel/odpovede
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[QR for Laravel](https://roundly-consulting.com/sk/open-source/navody/qr-for-laravel.md)

# Odpovede a data URI

Builder alebo Svg vrátené z controllera sa stanú obrázkovou odpoveďou; ten istý objekt vytvorí aj data URI a img tagy:

```php
return Qr::url($link);                                   // inline image/svg+xml
return Qr::url($link)->svg()->download('table-12.svg');  // attachment

return response()->json(['qr' => Qr::url($link)->toDataUri()]);
$base64 = Qr::url($link)->toDataUri(DataUriEncoding::Base64);
$img = Qr::url($link)->svg()->toImgTag('Scan me', ['class' => 'w-32']);
$svg = Qr::url($link)->svg()->withAttributes(['class' => 'qr', 'aria-hidden' => 'true']);
$etag = $svg->etag();
```

## Hlavičky odpovede

| Hlavička | Public | Personal | Secret |
| --- | --- | --- | --- |
| `Content-Type` | image/svg+xml; charset=utf-8 | rovnako | rovnako |
| `Cache-Control` | public, max-age=… (+ immutable) | private, max-age=… | no-store, max-age=0 |
| `ETag / 304` | áno | áno | nie (Pragma: no-cache) |
| `X-Content-Type-Options` | nosniff | nosniff | nosniff |
| `Content-Security-Policy` | `default-src 'none'; style-src 'unsafe-inline'` | rovnako | rovnako |
| `Content-Disposition` | inline; filename=qr-code.svg (attachment pre download()) | rovnako | rovnako |

Telo odpovede vždy obsahuje XML deklaráciu. Názvy súborov na stiahnutie sa sanitizujú s ASCII záložnou hodnotou. max-age sa berie z response.max\_age a immutable sa pridá, ak je response.immutable nastavené na true.

## Routa pre vstup od používateľa

Balík nedodáva žiadne routy. Routa vo vašej aplikácii, ktorá vykresľuje vstup od používateľa, by mala overiť prihlásenie, obmedziť počet požiadaviek a validovať vstup:

```php
use RoundlyConsulting\Qr\Rules\FitsInQrCode;

Route::middleware(['auth', 'throttle:30,1'])->get('/qr', function (Request $request) {
    $data = $request->validate(['text' => ['required', 'string', new FitsInQrCode]]);

    return Qr::text($data['text']);
});
```

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/qr-for-laravel.md)
