Pessoal segui os passos de uso que tem no site apache, procurei uns tutoriais pela net soh que nao estou conseguindo botar o programa para funcionar.
vou botar os fontes aqui, eh coisa pouca eh soh um programa teste, quem puder me ajudar eu agradeco.
index.jsp
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>JSP Page</h1>
<form action="<s:url action='salva/fileUpload'/>" name="myform" id="myform" method="post" enctype="multipart/form-data">
Specify your name:<br />
<input type="text" name="name" size="15"/><br />
Specify your File:<br />
<input type="file" name="myfile"><br /><br />
<input type="submit" name="Submit" value="Submit your files"/>
</form>
</body>
</html>
public class UploadAction extends ActionSupport implements ServletRequestAware, ServletResponseAware {
private HttpServletRequest request;
private HttpServletResponse response;
@Override
public String execute() {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
// Create a factory for disk-based file items
if (isMultipart) {
DiskFileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
try {
// Parse the request
List items = upload.parseRequest(request);
System.out.println(items.size());
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
File uploadedFile = new File("C:\\teste.txt");
item.write(uploadedFile);
}
}
} catch (Exception ex) {
Logger.getLogger(UploadAction.class.getName()).log(Level.SEVERE, null, ex);
}
return SUCCESS;
}
return ERROR;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletRequest getServletRequest() {
return request;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
public HttpServletResponse getServletResponse() {
return response;
}
}
o problema ocorre nessa linha: List items = upload.parseRequest(request);
ele nao ta dando o parse direito, o size da lista items da tando zero …ele nao ta entrando no while. ele ta pegando o request certin, jah testei para exibir as variaveis do formulario no console e funcionou direitin
qual o problema? olhei os tutorias e todos fazem o parse desse jeito, que eu fiz de errado? que foi que eu deixei passar?