Interesting, thanks Albert, all the other stuff I came across showed saving to disk first and then reading back to insert in the database, from what I can see of that example the files are not written to disk but cached somewhere? (I don't see any path's specified anywhere in that code)
(I'm trying to avoid end users having to set rights for file upload directories etc)