Uklßdßnφ souboru do tabulky

Pro upload souboru do databßze je t°eba ve svΘ aplikaci vytvo°it:

HTML formulß°

Je t°eba vytvo°it HTML formulß° s aspo≥ jednφm formulß°ov²m prvkem <INPUT TYPE="FILE">. Nap°.:

<FORM METHOD="POST" ACTION="/cgi-bin/wbcgi.exe/db/app/addfile.wbc" 
ENCTYPE="multipart/form-data">
Vyberte soubor: <INPUT TYPE="FILE" NAME="soubor"><BR>
<INPUT TYPE="SUBMIT" VALUE="Poslat">
</FORM>

Zßrove≥ s <INPUT TYPE="FILE"> lze pou₧φt i libovolnΘ dalÜφ formulß°ovΘ prvky. Lze takΘ odeslat vφce soubor∙ jednφm HTML formulß°em.

Pozor: Je t°eba nastavit parametr METHOD na POST a parametr ENCTYPE na multipart/form-data!

WWW objekt

WWW objekt dostane na vstupu tyto vstupnφ formulß°ovΘ prom∞nnΘ:

nßzev prom∞nnΘ typ prom∞nnΘ obsah prom∞nnΘ
soubor Blob obsah odesφlanΘho souboru
soubor_filename String jmΘno a p°φpona souboru
soubor_content_type String MIME-typ souboru

JmΘna prom∞nn²ch se tvo°φ podle pojmenovßnφ <INPUT TYPE="FILE"> takto: obsah souboru je pojmenovßn p°φmo tφmto jmΘnem, k pojmenovßnφ jmΘna a p°φpony a MIME-typu se p°idßvß p°φpona "_filename", resp. "_content_type". K <INPUT TYPE="FILE" NAME="abc123"> budou vytvo°eny prom∞nnΘ abc123 s obsahem souboru, abc123_filename s jmΘnem a p°φponou souboru a abc123_content_type s MIME-typem souboru.

SQL p°φkaz vytvß°ejφcφ nov² zßznam v tabulce Files m∙₧e vypadat takto:

SQLStatement:
+ INSERT INTO Files(content,filename,content_type)
+ VALUES (:<soubor,"%soubor_filename%","%soubor_content_type%")

Obsah souboru je nutno p°edßvat prost°ednictvφm embedded variable.

Poznßmka: Bylo by mo₧no pou₧φt zp∙sob p°edßnφ citacφ binßrnφho °et∞zce (tj.

+ VALUES (%soubor%,"%soubor_filename%","%soubor_content_type%")

ale tento SQL p°φkaz by byl dvakrßt delÜφ, ne₧ dΘlka vklßdanΘho souboru (binßrnφ °et∞zce k≤dujφ jeden bajt jako hexadecimßlnφ dvojΦφslφ) a navφc souΦasnß verze SQL serveru nenφ p°ipravena na zpracovßnφ extrΘmn∞ dlouh²ch SQL p°φkaz∙ (pro ilustraci: p°i vklßdßnφ souboru dΘlky 500KB by vznikl SQL p°φkaz dΘlky v∞tÜφ ne₧ 1MB).

PokraΦovßnφ:

Odeslßnφ souboru z databßze do browseru