Thanks Dave for prompt reply. Yes, I have defined inputStream property in action class like below.
*private InputStream inputStream; public InputStream getInputStream() { return inputStream; } public void setInputStream(InputStream inputStream) { this.inputStream = inputStream; } * One more thing that I missed in earlier message, I am getting exception even before my action method "upload" getting invoked. I have few System.Out in method, I don't see them in log..it seems to me request is failing before upload method call... public String upload() { try{ UserTO userTo = this.getCurrentUser(); System.out.println("myPhotoFileName:"+myPhotoFileName); System.out.println("myPhoto:"+myPhoto); System.out.println("getMyPhotoContentType:"+ this.getMyPhotoContentType()); if ((myPhotoFileName != null && "".equals(myPhotoFileName)) || myPhoto == null) { inputStream = new StringBufferInputStream(this.getText("required.userPhoto")); return Action.SUCCESS; } else if (myPhoto.length() > 200000) { inputStream = new StringBufferInputStream(this.getText("userPhoto.maxLengthExceeded")); return Action.SUCCESS; } if (!getMyPhotoContentType().startsWith("image/")) { inputStream = new StringBufferInputStream(this.getText("userPhoto.invalidPhotoType")); return Action.SUCCESS; } // Some File Upload logic... inputStream = new StringBufferInputStream(myPhotoFileName + " added to your profile."); }catch(Exception exp){ LOG.error("Exception in Photo Upload:", exp); inputStream = new StringBufferInputStream("Photo upload failed. Please try again later."); } return Action.SUCCESS; } On Fri, Dec 5, 2008 at 12:45 PM, Dave Newton <[EMAIL PROTECTED]> wrote: > --- On Fri, 12/5/08, Raghu wrote: > > I am trying to implement Ajax File Upload using > > JQuery's Form Plugin which uses iframe internally. > JQuery's Form Plugin doc says it support response > > type of HTML or XML. > > > > Without Ajax, my file upload works fine. I am not sure what > > result type to choose for ajax response. > > > > If I use type="stream" then I am getting below > > exception... Any idea how to resolve this issue... > > [...] > > > [WRITE4SMILE] ERROR [2008/12/05 09:53:59] | > > Servlet.service() for servlet default threw exception > > java.lang.IllegalArgumentException: Can not find a > > java.io.InputStream with the name [inputStream] in > > the invocation stack. Check the <param name="inputName"> > > tag specified for this action. > > Surprisingly, the steps for solving this particular issue are described > completely in the exception message: if you're going to use a stream result > you need to supply and input stream in your action, the property name of > said stream being supplied by the "inputName" param. > > The contents of that stream would be decided by whatever jQuery's form > plugin wants--which I don't know. It sounds like you'd need to craft a > response containing whatever information the form plugin wants; if you can > qualify those requirements it'll be easier to help. > > Dave > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >