Požadavek save-files
Účel a dopady
Uloží více souborů najednou (každý jako vnořený uzel file), volitelně sloučených do jednoho ZIP archivu. Zápis je transakční na úrovni celé dávky – při chybě jednoho souboru se odstraní i soubory už uložené v rámci téhož požadavku.
Dostupnost, kontext, oprávnění apod.
Server využívá oprávnění save-file u virtuálních adresářů, resp. vlastnost uživatele mapovanou pod p_pubsaves.
XML požadavek (syntax + popis)
<request>
<save-files
path="{string}"
name="{string}"
codepage="acp|utf8|utf16|{#number}"
file-type="txt|xml|pdf|base64|hex|json"
content-prefix="{string}"
not-replace="{bool}"
attach="{bool}"
zip="{bool}"
zipped-file="{string}"
path-log="{bool}"
from-url="{bool}"
pdf-source="text|xml"
title="{string}"
jsdelay="{number}"
>
<file ... {string}</file> *
</save-files>
</request>
Parametry a pravidla (atributy, potomci)
Atributy uzlu save-files mají stejný význam jako u save-file a slouží jako výchozí hodnoty zděděné všemi vnořenými file, pokud je file sám nepřepíše.
Potomek: libovolný počet uzlů file, každý reprezentuje jeden ukládaný soubor – viz sdílený typ save-file pro jeho vlastní atributy a stejná pravidla dědičnosti.
Závislosti
- Je-li
zip="true"na kterékoli úrovni, všechny soubory dávky jdou do jednoho výsledného ZIP archivu. attach/zipna uzlufilenejsou podporovány – platí jen na úrovnisave-files/save-file.
Příklady požadavku
(Zatím bez ověřeného příkladu.)
Zpracování a vedlejší účinky
- Zpracování
filepotomků je sekvenční a transakční jako celek: selže-li uložení kteréhokoli souboru, dosud uložené soubory dávky se odstraní. - Je-li
file-type/pdf-sourceroventext, provádí se náhrada XML escape sekvencí (>,<,&→>,<,&); uxmlnavíc speciální náhrada sekvence#>##→>.
XML odpověď (syntax + popis)
<response>
<save-files
type="ok|error"
count="{number}"
>
<file ... /> *
<error ... /> ?
</save-files>
</response>
type-ok, pokud uspěly všechny soubory dávky, jinakerror. (typ:enum:ok|error)count- Počet souborů v dávce. (typ:number)
Uzel file (odpověď)
<file
path="{string}"
type="ok|error"
name="{string}"
orig-name="{string}"
>
<error ... /> ?
</file>
Popis obsahu viz sdílený typ save-file-result.
Příklady odpovědi
(Zatím bez ověřeného příkladu.)
Chyby a reakce
type="error" descr="Pri provadeni doslo k chybe"– selhání uložení/připojení souboru.type="error" descr="Nerozpoznany nazev souboru"– nepodařilo se určit cílovou cestu/jméno.type="error" descr="Transakci se nepodarilo vytvorit"/"Spojeni s databazi neni funkcni"– jen uattach="true"(příloha se eviduje v databázi).
Výraz pro identifikaci chyb: save-files[@type='error'] (odkaz na popis detailu: @descr).
Související požadavky
- save-file – uložení jednoho souboru.
- load-files – párový požadavek pro čtení.
- save-document – připojení souborů uložených s
attach="true".