I made an app with pcreate -t starter and pasted your app's view stuff
in and it worked there as well, started it with pserve and both
uploads worked there as well.


On Feb 8, 1:32 pm, Craig Swank <craigsw...@gmail.com> wrote:
> Your app also works in my VM.  Both views show a FieldStorage object
> for POST['profile_picture']
>
> Hmm, confused.  One difference I can see between the two is you use
> waitress to serve it, I'm using pserve.  I've not heard of waitress
> until now.  Is there a possibility that pserve could be the reason I'm
> having problems?
>
> Craig
>
> On Feb 8, 1:22 pm, Chris McDonough <chr...@plope.com> wrote:
>
>
>
>
>
>
>
> > Can't replicate.  This app tries to do so but using either "/broken" or
> > "/works", it returns the same result (a repr of the FieldStorage) on
> > Pyramid 1.3a7:
>
> > from waitress import serve
> > from pyramid.config import Configurator
> > from pyramid.response import Response
> > from pyramid.view import view_config
>
> > @view_config(name='works')
> > def works(request):
> >     form = """
> >     <html>
> >     <form action="/works" method="POST" enctype="multipart/form-data">
> >       <input type="hidden" name="csrf_token" value="token"/>
> >       <input type="file" name="profile_picture" value=""/><br/>
> >       <input type="submit" value="save picture"/>
> >     </form>
> >     </html>
> >     """
> >     if request.method == 'GET':
> >         return Response(form, content_type='text/html')
> >     else:
> >         picture = repr(request.POST['profile_picture'])
> >         return Response(picture, content_type='text/plain')
>
> > @view_config(name='broken')
> > def broken(request):
> >     form = """
> >     <html>
> >     <form action="/broken" method="POST" enctype="multipart/form-data">
> >       <input type="file" name="profile_picture" value=""/><br/>
> >       <input type="hidden" name="csrf_token" value="token"/>
> >       <input type="submit" value="save picture"/>
> >     </form>
> >     </html>
> >     """
> >     if request.method == 'GET':
> >         return Response(form, content_type='text/html')
> >     else:
> >         picture = repr(request.POST['profile_picture'])
> >         return Response(picture, content_type='text/plain')
>
> > if __name__ == '__main__':
> >     config = Configurator()
> >     config.scan('__main__')
> >     serve(config.make_wsgi_app())
>
> > On Wed, 2012-02-08 at 12:15 -0800, Craig Swank wrote:
> > > Forgot to add environment info
> > > pyramid:  1.3a6
> > > python:    2.7
> > > os:          ubuntu on a vagrant VM on a mac.
>
> > > On Feb 8, 1:03 pm, Craig Swank <craigsw...@gmail.com> wrote:
> > > > Hello,
> > > > I just got wailed on by a file upload for about an hour.  Does anyone
> > > > know why, when I post this form to my pyramid app:
>
> > > > <form action="${save_picture_url}" method="POST" enctype="multipart/
> > > > form-data">
> > > >   <input type="file" name="profile_picture" value=""/><br/>
> > > >   <input type="hidden" name="csrf_token" value="${csrf_token}"/>
> > > >   <input type="submit" value="save picture"/>
> > > > </form>
>
> > > > the request.POST['profile_picture'] is an empty string.  When I move
> > > > the position of the csrf_token field like this:
>
> > > > <form action="${save_picture_url}" method="POST" enctype="multipart/
> > > > form-data">
> > > >   <input type="hidden" name="csrf_token" value="${csrf_token}"/>
> > > >   <input type="file" name="profile_picture" value=""/><br/>
> > > >   <input type="submit" value="save picture"/>
> > > > </form>
>
> > > > Then request.POST['profile_picture'] is a FieldStorage object as
> > > > expected.
>
> > > > Craig

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-devel" group.
To post to this group, send email to pylons-devel@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-devel?hl=en.

Reply via email to