Mercurial > urweb
view tests/dbupload2.ur @ 2162:c39c48696393
Allow returnBlob and redirect in static protocol
Both of these functions end up returning RETURN_INDIRECTLY, which is
assumed to be an error by static.c's main. Treat it as success
instead.
author | Julian Squires <julian@cipht.net> |
---|---|
date | Mon, 13 Jul 2015 14:34:30 -0400 |
parents | 229a299d739d |
children |
line wrap: on
line source
table t : { Id : int, Blob : blob, MimeType : string } sequence s fun getImage id : transaction page = r <- oneRow1 (SELECT t.Blob, t.MimeType FROM t WHERE t.Id = {[id]}); returnBlob r.Blob (blessMime r.MimeType) fun handle (r : {File:file, Param:string}) = id <- nextval s; dml (INSERT INTO t (Id, Blob, MimeType) VALUES ({[id]}, {[fileData r.File]}, {[fileMimeType r.File]})); debug ("Text is " ^ r.Param); main () and main () : transaction page = x <- queryX1 (SELECT t.Id FROM t) (fn r => <xml><img src={url (getImage r.Id)}/> </xml>); return <xml><body> <form> <upload{#File}/> <textbox{#Param} value="text"/> <submit action={handle}/> </form> <hr/> {x} </body></xml>