Olá Javaneses!
Alguem já utilizou o inteceptor de upload do webwork ?
http://wiki.opensymphony.com/display/WW/File+Upload+Interceptor
Estou utilizando o mesmo modelo que lá se encontra mas está dando errado… não sei qual o erro…
Esta é pagina html que envia o upload
<form action="upload.action" method="POST" enctype="multipart/form-data">
<center>
<table width="350" border="0" cellpadding="3" cellspacing="0">
<tr>
<td colspan="2"><input type="file" name="picture" size="50"/></td>
</tr>
<tr>
<input type="submit" value="Submit">
</form>
Este é meu xwork
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="default" extends="webwork-default">
<interceptors>
<interceptor
class="br.com.click.editor.system.ApplicationSecurityInterceptor" name="appsecurity"/>
<interceptor
class="br.com.click.editor.util.FileUploadInterceptor" name="filesUploads"/> //este arquivo eu peguei diretamente do SITE
<interceptor-stack name="systemDefaultStack">
<interceptor-ref name="filesUploads"/>
<interceptor-ref name="model-driven"/>
<interceptor-ref name="component"/>
<interceptor-ref name="appsecurity"/>
<interceptor-ref name="validationWorkflowStack"/>
<interceptor-ref name="logger"/>
<interceptor-ref name="timer"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="systemDefaultStack"/>
<action name="upload" class="br.com.click.editor.actions.FileUpload">
<result name="input" type="dispatcher">
<param name="location">/login.jsp</param>
</result>
<result name="error" type="dispatcher">
<param name="location">/login.jsp</param>
</result>
<result name="success" type="dispatcher">
<param name="location">/jsp/teste.jsp</param>
</result>
</action>
Este é meu model que estou utilizando
package br.com.click.editor.models;
import java.io.*;
import java.io.Serializable;
public class Upload
implements Serializable{
private File picture;
public File getPicture() {
return picture;
}
public void setPicture(File file) {
picture = file;
}
}
E finalmente está é minha action
package br.com.click.editor.actions;
import br.com.click.editor.system.DisableSecurityAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import br.com.click.editor.models.Upload;
import java.io.*;
public class FileUpload extends SystemAction implements DisableSecurityAction {
protected static final Log log = LogFactory.getLog(FileUpload.class);
private Upload model = new Upload();
public String execute() throws Exception {
if (model.getPicture() != null && model.getPicture().isFile()) { //ELE NÃO ESTÁ ENTRANDO NO IF
File dir = new File("d:/uploads");
File target = new File(dir, "valeu.txt");
if (target.exists()) {
if (log.isDebugEnabled()) log.debug("Removed previous picture version");
target.delete();
}
model.getPicture().renameTo(target);
}
return SUCCESS;
}
public Object getModel() {
return this.model;
}
}
Bem eu já utlizei o setPicture diretamente na action mas tambem não adiantou… não sei mais o que testar… qualquer ajuda será bem vinda …obrigadooo
A o interceptor eu copiei ele igualzinho ao do site do wiki webwork
http://wiki.opensymphony.com/display/WW/File+Upload+Interceptor
um abraço
Fábio Bastos