Hello All,
I get the following error, when I try downloading files through the File
download Struts2 application. I have given the Configuration detail and the
Action class. Could someone take a look and let me know where this breaks?
Thank you,
Senthil
javax.servlet.ServletException: 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.
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
*root cause*
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.
org.apache.struts2.dispatcher.StreamResult.doExecute(StreamResult.java:189)
org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
*Configuration*
<action name="FileDownloadAction" class="com.FileDownloadAction">
<interceptor-ref name="basicStack"/>
<result name="success" type="stream">
<param name="inputName">inputStream</param>
</result>
</action>
*Download Action Class*
public class FileDownloadAction implements Action {
private String inputPath;
private String contentType;
private String inputName;
private String contentDisposition;
private String fileId;
private int bufferSize;
public void setInputPath(String value) {
inputPath = value;
}
public InputStream getInputStream() throws Exception {
return
ServletActionContext.getServletContext().getResourceAsStream(inputPath);
}
public String execute() throws Exception {
return SUCCESS;
}
/**
* @return the bufferSize
*/
public int getBufferSize() {
return bufferSize;
}
/**
* @param bufferSize the bufferSize to set
*/
public void setBufferSize(int bufferSize) {
this.bufferSize = 4096;
}
/**
* @return the contentDisposition
*/
public String getContentDisposition() {
return contentDisposition;
}
/**
* @param contentDisposition the contentDisposition to set
*/
public void setContentDisposition(String contentDisposition) {
this.contentDisposition = "filename=\"portal_logo.jpg\"";
}
/**
* @return the contentType
*/
public String getContentType() {
return contentType;
}
/**
* @param contentType the contentType to set
*/
public void setContentType(String contentType) {
this.contentType = "image/jpeg";
}
/**
* @return the inputName
*/
public String getInputName() {
return inputName;
}
/**
* @param inputName the inputName to set
*/
public void setInputName(String inputName) {
this.inputName = inputName;
}
/**
* @return the inputPath
*/
public String getInputPath() {
return inputPath;
}
/**
* @return the fileId
*/
public String getFileId() {
return fileId;
}
/**
* @param fileId the fileId to set
*/
public void setFileId(String fileId) {
this.fileId = fileId;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]