I have been trying to get the most simple file upload example working with
and have been receiving a strange error message that I just can't seem to shake.
Here is the basics of my action form
snip=
public class ImageUploadForm extends ActionForm {
// --------------------------------------------------------- Instance Variables
/** imageFile property */
protected FormFile file;
// --------------------------------------------------------- Methods
public ActionErrors validate(
ActionMapping mapping,
HttpServletRequest request) {
if(file == null){
System.out.println("file is empty");
}
return null;
}
public FormFile getFile() { return file; }
public void setFile(FormFile file) { this.file = file; } =snip
Here is the basics of the action
snip=
public ActionForward execute(
blah) {
System.out.println("at least i managed to get called");
throw new UnsupportedOperationException("Generated method 'execute(...)' not implemented.");
}
=snip
Here is the basics from my struts config file
snip=
<form-bean name="imageUploadForm" type="ie.jestate.struts.form.ImageUploadForm">
<form-property name="file" type="org.apache.struts.upload.FormFile" />
</form-bean>
<action
attribute="imageUploadForm"
input="/form/imageUpload.jsp"
name="imageUploadForm"
path="/imageUpload"
type="ie.jestate.struts.action.ImageUploadAction"
scope="request"
validate="true"
>
<forward name="imageuploadsuccess" path="/form/imageUpload.jsp" />
</action>
=snip
Here is the jsp file
snip= <%@ page language="java"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%> <html> <head> <title>JSP for imageUploadForm form</title> </head> <body> <html:form action="/imageUpload.do" type="imageUploadForm" > File : <html:file property="file"/> <html:submit/> </html:form> <body> </html> =snip
And here is the abreviated version of the error message snip=
*exception*
javax.servlet.ServletException: BeanUtils.populate org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254) org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)*
cause mère*
java.lang.IllegalArgumentException: argument type mismatch sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) =snip
I have tried changing the type to text and the type to String in the form and that works but use this FormFile class and everything seems to go fubar.
It never even gets to call the action , instead it generates this error message ,
but the setters and getters are right and the variable is public, this only happens
with the FormFile. All the struts stuff is in my classpath as is commons-fileupload-1.0.jar.
Anyone got any idea what the hell I'm doing wrong ... I'm starting to suspect this
could be a struts bug cause everything looks straightforward enough.
--B
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]