[Zope] LocalFS Documentation
Dan L. Pierson
dan@sol.control.com
Thu, 13 Jul 2000 17:07:49 -0400 (EDT)
Kelvin Cheong writes:
> Anybody know where I can find out more about LocalFS, I've already read
> jfarr's How-to's and Product Information. But I still need more on how it
> works.
It helps to pay very careful attention to the help info (in
.../Products/LocalFS/methodHelp.dtml if you're not running 2.2 yet).
Beyond that, there's only the source...
> <!--#var standard_html_header-->
> <H2><!--#var title_or_id--> <!--#var document_title--></H2>
> <P>
> <dtml-with REQUEST>
> <dtml-call "REQUEST.set('userTABPIX1',REQUEST.form['userTABPIX1'])">
> <dtml-call "manage_addImage('',userTABPIX1)">
> </dtml-with>
> <!--#call "TutadobeInsertMethod(REQUEST)"-->
>
> Data Has Been Successfully Inserted!
>
> <!--#var standard_html_footer-->
>
>
> I tried replacing (blindly) the <dtml-with REQUEST> tag with both
> <dtml-with myLocalFS1> and <dtml-in myLocalFS1>, and as to my expectations
> it did not work. How would I actually upload to the LocalFS object
> (myLocalFS1) I've created?
To programatically upload a file you need to:
1. Get the file info in a FileUpload object. The normal way to do
this is via a form input tag of type "file".
2. Call myLocalFS1.manage_upload(file, REQUEST). For dtml, that would
look something like: <dtml-call "myLocalFS1.manage_upload(file, REQUEST)">.
Warning, the current official version of manage_upload will try to
display a MessageDialog page that will send you to the management
pages if REQUEST is not None. I've patched my version to redirect
back to 'index_html' instead, which makes much more sense if you allow
users without management rights to upload files.
For a very useful sample, the default LocalFS index_html page is
.../Products/LocalFS/methodBrowse.dtml. It includes an upload link
that uses manage_uploadForm, which is a standard Zope method defined
in several files in .../lib/python/OFS. I think that the one this
page will use is defined in DTMLMethod.py to be documentUpload.dtml in
the same directory.
Hope this helps,
Dan Pierson