Olá amigos,
sou novo aqui no GUJ, e tambem começei no java não tem mto tempo…
estou tendo o seguinte problema:
Estou usando o struts 2 e o plugin jquery uploadify para fazer upload de arquivos para meu servidor…
Coloquei la tudo certinho no form, o uploadify chama a action normalmente, mas o objeto “file” está chegando na action como null
se eu usar um botão com um link para a action que faz upload ele funciona normalmente, porem qnd deixo isso a cargo do uploadify o objeto chega null na minha action.
alguem sabe me dizer onde estou errando??
segue abaixo os códigos
Minha JSP
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Upload</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="uploadify/jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript" src="uploadify/swfobject.js"></script>
<script type="text/javascript">
$(function() {
$('#custom_file_upload').uploadify({
'uploader' : 'uploadify/uploadify.swf',
'script' : 'upload',
'cancelImg' : 'uploadify/cancel.png',
'folder' : 'uploads',
'multi' : true,
'auto' : true,
'fileExt' : '*.jpg;*.gif;*.png',
'fileDesc' : 'Image Files (.JPG, .GIF, .PNG)',
'queueID' : 'custom-queue',
'queueSizeLimit' : 3,
'simUploadLimit' : 2,
'removeCompleted': true,
'onSelectOnce' : function(event,data) {
$('#status-message').text(data.filesSelected + ' arquivos serão adicionados');
},
'onAllComplete' : function(event,data) {
},
'onComplete' : function(event, ID, fileObj, response, data) {
}
});
});
</script>
</head>
<body>
<s:form action="upload" method="POST" enctype="multipart/form-data">
<div id="boxUpload">
<div id="status-message">Selecione as fotos para adicionar:</div>
<div id="custom-queue"></div>
<input id="custom_file_upload" type="file" name="foto" />
</div>
</s:form>
</body>
</html>
minha action
public class UploadAction extends ActionSupport implements Preparable{
private File foto;
private String fotoContentType;
private String fotoFileName;
@Action(value="upload", results = {
@Result(name="ok",location="formLivro.jsp"),
@Result(name="input",location="formLivro.jsp")
})
public String upload(){
try {
File theFile = new File(fullFileName);
FileUtils.copyFile(foto, theFile);
} catch (Exception e) {
addActionError(e.getMessage());
System.out.println("Erro: " + e.getMessage());
}
return "ok";
}
@Action(value="formUpload",results={
@Result(name="ok",location="formUp.jsp")})
public String formUpload(){
return "ok";
}
public File getFoto() {
return foto;
}
public void setFoto(File foto) {
this.foto = foto;
}
public String getFotoContentType() {
return fotoContentType;
}
public void setFotoContentType(String fotoContentType) {
this.fotoContentType = fotoContentType;
}
public String getFotoFileName() {
return fotoFileName;
}
public void setFotoFileName(String fotoFileName) {
this.fotoFileName = fotoFileName;
}
}