Pessoal,
Na minha aplicação tenho um upload com flex e servlet java no qual executo
tranquilo quando estou rodando a aplicação no Eclipse+Flex quando passso
para o meu servidor tomcat está dando o famoso erro:
Error #2044: IOErrorEvent: não manipulado. text=Error #2038: Erro do arquivo
de E/S.
Tentei achar o arquivo .htaccess para alterar porém no Apache TomCat não
achei.
Alguém já passou por esse problema?
*private* *var* fileRef:FileReference;
*//Acesso Local
*
*private* *var* request:URLRequest = *new* URLRequest (*"FileUploadServlet"*
);
*//Acesso Servidor
*
*//private var request:URLRequest = new URLRequest ("/FileUploadServlet");
*
*private* *function* init():*void* {
fileRef = *new* FileReference();
fileRef.addEventListener(Event.SELECT, fileRef_select);
fileRef.addEventListener(ProgressEvent.PROGRESS, fileRef_progress);
fileRef.addEventListener(Event.COMPLETE, fileRef_complete);
processarRazao.enabled=*false*;
progressBar.visible = *false*;
}
*private* *function* browseAndUpload():*void* {
*var* fileFilter:FileFilter = *new* FileFilter(*"XLS(*.xls)"*,*"*.xls"*);
*var* fileTypes:Array = *new* Array(fileFilter);
fileRef.browse(fileTypes);
message.text = *""*;
}
*private* *function* fileRef_select(evt:Event):*void* {
*try* {
*//message.text = "size (bytes): " + numberFormatter.format(fileRef.size);
*
fileRef.upload(request);
} *catch* (err:Error) {
*trace*(err.getStackTrace())
message.text = *"ERROR: zero-byte file"*;
}
}
Servlet Java:
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class FileUploadServlet extends HttpServlet{
private static final long serialVersionUID = -3809781585154857442L;
//Acesso Local
//private String uploadpatch =
getServletContext().getRealPath("/WEB-INF/teste");
private String uploadpatch =this.getServletContext().getRealPath("//");
//Acesso Servidor
//private String uploadpatch = "/classes/";
public static final int maxPostSize = 100*1024*1024;
public FileUploadServlet (){
super();
}
protected void processRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception{
try {
response.setContentType("text/html;charset=UTF-8");
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(4096);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(maxPostSize);
List<FileItem> fileItens= upload.parseRequest(request);
Iterator<FileItem> iter = fileItens.iterator();
while (iter.hasNext()){
FileItem item = iter.next();
if(!item.isFormField()){
item.write(new File(uploadpatch + item.getName()));
}
}
} catch (Exception e) {
throw e;
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException{
try {
processRequest(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException{
try {
processRequest(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
public void destroy(){
super.destroy();
}
}
Web.xml
<servlet>
<description>
</description>
<display-name>
FileUploadServlet</display-name>
<servlet-name>FileUploadServlet</servlet-name>
<servlet-class>
FileUploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileUploadServlet</servlet-name>
<url-pattern>/FileUploadServlet</url-pattern>
</servlet-mapping>
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev