Olá amigos
Alguem já trabalhou com upload no GWT?Tambem estou usando a biblioteca de componentes GXT (EXT-GWT)
O código é o seguinte:
[code]final FormPanel panel = new FormPanel();
panel.addListener(Events.Submit, new Listener(){
@Override
public void handleEvent(FormEvent fe) {
EasyMessageBox.info(“Imagem carregada! Verifique a listagem de registros.”);
}
});
panel.setHeaderVisible(false);
panel.setAction("minhaURL");
panel.setEncoding(Encoding.MULTIPART);
panel.setMethod(Method.POST);
Dialog dialog = new Dialog(){
@Override
protected void onButtonPressed(Button button) {
System.out.println(button.getText());
panel.submit();
}
};
dialog.setHeading("Imagem");
dialog.setWidth(600);
dialog.setHeight(150);
dialog.setButtons(Dialog.OKCANCEL);
FileUploadField file = new FileUploadField();
file.setAutoWidth(true);
file.setAllowBlank(false);
file.setFieldLabel("Arquivo");
panel.add(file);
dialog.add(panel);[/code]
Aqui será aberta uma caixa de dialogo com um form, e dentro do form um controle do GXT FileUploadField. Quando o botao OK da dialogbox for clicado vai submeter o form…mandando o processamento para esse servlet:
[code]boolean isMultipart = ServletFileUpload.isMultipartContent(req);
if (isMultipart){
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try{
List<FileItem> files = upload.parseRequest(req);
for (FileItem file : files){
byte[] buffer = file.get();
System.out.println(buffer);
}
} catch (FileUploadException e){
e.printStackTrace();
}[/code]
Aqui estou usando a API de upload da Jakarta. Mas…o retorno do metodo upload.parseRequest NAO RETORNA NENHUM ITEM!
O que estou fazendo de errado?
Obrigado amigos!