Thank you. I solved the problem. In my html form I forgot to put
enctype="multipart/form-data". It seems working now.

On Feb 13, 9:12 pm, Robert Kluin <[email protected]> wrote:
> Hi,
>   You're getting the IndexError because get_uploads is returning an
> empty list, which means there are no blob-info records for the 'file'
> field.
>
>   Your other error is because BlobstoreUploadHandler only allows
> redirects.  Like Doug suggests, you'll need to redirect to another
> page to output something.
>
> Robert
>
>
>
>
>
>
>
> On Sun, Feb 13, 2011 at 02:51, theone <[email protected]> wrote:
> > I don't need to return the values. My problem is that while I am able
> > to send file with a few form fields, It gives an error using many
> > fields:
> > w=upload_files[0]
> > IndexError: list index out of range
> > INFO     2011-02-13 07:43:10,884 dev_appserver_blobstore.py:328]
> > Upload handler returned 500
> > ERROR    2011-02-13 07:43:10,884 dev_appserver_blobstore.py:341]
> > Invalid upload handler response. Only 301, 302 and 303 statuses are
> > permitted and it may not have a content body.
> > INFO     2011-02-13 07:43:10,910 dev_appserver.py:3317] "POST /_ah/
> > upload/agZlcGN2ZGJyHAsSFV9fQmxvYlVwbG9hZFNlc3Npb25fXxjFAgw HTTP/1.1"
> > 500 -
>
> > In both cases I use the same definitions:
> > upload_files = self.get_uploads('file')
> > w=upload_files[0]
>
> > On Feb 13, 9:35 am, Doug Anderson <[email protected]> wrote:
> >> I have to retract my previous post... this does appear to be working
> >> for me.  I can use "self.request.get('description')" to retrieve the
> >> text description form field.  My previous problem was that
> >> name='descripton' was spelled wrong in my html form (missing the last
> >> 'i')... doh!
>
> >> I think your issue is that you lose your "self.response.out.write(N)"
> >> content when you redirect via "return self.redirect('/')"... that
> >> response body content won't survive the redirect (the redirect will
> >> provide its own content).  If you need to return the submitted N and S
> >> content then perhaps you could redirect to a URL that takes the 'a'
> >> object key as a parameter "self.redirect('/' +
> >> urllib.quote(a.key()))".  Of course you'd have to setup your handler
> >> to accept the parameter... but then you could re-retrieve 'a' object
> >> in the handler via a datastore get such as "a = db.get(a_key)"...
> >> assuming 'a_key' is the name of the parameter.
>
> >> On Feb 13, 1:54 am, theone <[email protected]> wrote:
>
> >> > I think you are right about BlobstoreUploadHandler limitations. When I
> >> > tried something like:
> >> > class X(db.Model):
> >> >     N = db.StringProperty()
> >> >     S = db.StringProperty()
> >> >     F = blobstore.BlobReferenceProperty()
>
> >> > class Upload(blobstore_handlers.BlobstoreUploadHandler):
> >> >     def post(self):
> >> >         upload_files = self.get_uploads('file')
> >> >         a=upload_files[0]
> >> >         N = self.request.get('name')
> >> >         S = self.request.get('sname')
> >> >         if S:
> >> >             m=N + S
> >> >         else:
> >> >             m=S + N
> >> >         self.response.out.write(N)
> >> >         self.response.out.write(S)
> >> >         a=X(N=m, S=S, F=a)
> >> >         a.put()
> >> >         return self.redirect('/')
>
> >> > It worked partly. I mean I put my model to datastore and file to
> >> > blobstore. However, it does not writes the thing like:
> >> > self.response.out.write(N). What I understand here we cannot use
> >> > everything in BlobstoreUploadHandler.
>
> >> > Also if you request the form fields, it does not work.
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Google App Engine" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to