[Zope] picture as parameter for an external method

Tino Wildenhain tino at wildenhain.de
Mon Oct 11 06:52:58 EDT 2004


On Mon, 2004-10-11 at 11:58, VIGNAUX Philippe wrote:
> Hi !
> 
>  
> 
> Is there a way to pass a picture (extension JPG)  as a parameter of an
> external method.
> It seem to be the case as read on the internet but for me it doesn’t
> work !
> My zope config :  Zope 2.6.4 (binary release, python 2.1, win32-x86),
> python 2.1.3, win32
> This is the problem :
> 1) I’ve got a page template where I can choose a picture thru a
> « file » object :
> <input type="file" name="filename">

Did you adjust enctype accordingly? 

> 2) This page template calls a python scripts

Calls? The Template is target of the POST request 
too?

> request=context.REQUEST
> context.my_external_function( original_id=request['filename'] )
> #context.my_external_function( request['filename'] )

if you do it the right way[tm] (see the enctype you can borrow
from any ZMI HTML source which has a file upload) 
request.form.get('filename') will give you a file object.
(If you return from form of course)


> 3) my_external_function is defined in an appropiate module in the
> « Extensions » folder of my zope installation
> 
> def my_external_function (self, original_id):
> 
>      pass
> 
This is all?
 
> PROBLEM :   when i run the process i get an error :
> 
>  
> 
> exceptions.AssertionError
> 
> Sorry, a site error occurred. 
> 
> Traceback (innermost last): 
> 
>       * Module ZPublisher.Publish, line 150, in publish_module 
>       * Module ZPublisher.Publish, line 106, in publish 
>       * Module Zope.App.startup, line 225, in abort 
>       * Module ZODB.Transaction, line 135, in abort 
>       * Module ZODB.Connection, line 256, in abort  
> 
> When i configure the whole thing to pass a normal parameter (text), it
> works normally ;  so obviously the problem is when trying to pass a
> picture.
> 
This might be related to the enctype. Try it first I'd say.
What is your external method supposed to do?

Regards
Tino



More information about the Zope mailing list