Přejít na obsah
Skip to main content

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/zip na uzlu file nejsou podporovány – platí jen na úrovni save-files/save-file.

Příklady požadavku​

(Zatím bez ověřeného příkladu.)

Zpracování a vedlejší účinky​

  • Zpracování file potomků 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-source roven text, provádí se náhrada XML escape sekvencí (&gt;, &lt;, &amp; → >, <, &); u xml navíc speciální náhrada sekvence #>## → &gt;.

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, jinak error. (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 u attach="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​