I'm not sure how i would hook SHtml.fileUpload into this because
swfupload lets me configure an URL
that it will post to for each file uploaded, I don't even  need a form
to do this (this is all flash/swf). I currently
have a LiftView subclass that handles it and is processing it like
this:

S.request match {
    case Full(req) =>
      req.uploadedFiles.foreach { file: FileParamHolder =>
        println("Name: " + file.name)
        println("File name: " + file.fileName)
        resizeAndSave(file)
      }

      case _ =>
    }

I guess the only thing I need to change is using a custom dispatch
instead of the view in order to return my own LiftResponse instead of
a NodeSeq
back to the client.

Cheers,
Alli


On Jan 11, 12:37 pm, Marius <[email protected]> wrote:
> Alli are you using SHtml.fileUpload ... or you want to upload it
> "manually" processing everything in your dispatch? .. I'd opt in for
> SHtml.fileUpload because there is a bunch of stuff Lift does for you.
>
> On Jan 11, 5:12 am, Alli <[email protected]> wrote:
>
> > Yeah I think I need to add a custom dispatch function and make that
> > return my own response. I was actually
> > hoping I could do this straight from the snippet instead of having to
> > redirect, makes the whole thing more complex.
>
> > On Jan 11, 12:41 am, Marc Boschma <[email protected]> wrote:
>
> > > I'm not an expert but I would model a Response class in much the same  
> > > way as:
>
> > >    package net.liftweb.http
>
> > >    object PlainTextResponse {
> > >      def apply(text: String): PlainTextResponse =  
> > > PlainTextResponse(text, Nil, 200)
> > >      def apply(text: String, code: Int): PlainTextResponse =  
> > > PlainTextResponse(text, Nil, code)
> > >    }
>
> > >    case class PlainTextResponse(text: String, headers: List[(String,  
> > > String)], code: Int) extends LiftResponse {
> > >      def toResponse = {
> > >        val bytes = text.getBytes("UTF-8")
> > >        InMemoryResponse(bytes, ("Content-Length",  
> > > bytes.length.toString) :: ("Content-Type", "text/plain") :: headers,  
> > > Nil, code)
> > >      }
> > >    }
>
> > > from TextResponse.scala. Look at InMemoryResponse or possibly  
> > > StreamingResponse in Response.scala.
>
> > > Marc
>
> > > On 11/01/2009, at 4:27 AM, Alli wrote:
>
> > > > Hey, I have been searching the list and also the liftweb.net wiki and
> > > > haven't found a way to do this:
>
> > > > I have a form to upload a file that I want to manipulate and send back
> > > > to the client. When sending it back I am using S.setHeader to set the
> > > > content type, disposition etc but I haven't found a way to write the
> > > > file back to the response. What I think I need is access to the
> > > > response's printwriter (response.getWriter()) instance. Any help would
> > > > be greatly appreciated.
>
> > > > Cheers,
> > > > Alli

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" 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/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to