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:
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:
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 kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
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.