Pessoal, boa noite!
Estou fazendo uma aplicação em JavaME, e estou tendo alguns problema na recepção dos dados.
O Método abaixo cria o cabeçalho da URL que envio para o servidor. Reparem que o parâmetro que este recebe
é uma arquivo de imagem.
Quando eu coloco no parâmetro file uma String simples, o meu servlet recebe os parâmetros sem problema
e consigo recuperar o conteúdo de cada um destes parâmetros, porém se eu passo dessa forma, tranformando o meu
array de bytes numa String usando o [color=red]base64.encode[/color] o servlet simplesmente desaparece com os parâmetros, ou seja,
não consigo recuperar com o [color=orange]request[/color].
Pensei em duas possibilidades:
- O Método POST está com alguma restrição de tamanho, o que nunca ouvi dizer que houvesse este problema(Diferente do GET);
- O OutputStream está estourando, pois como estão vendo no código abaixo existe uma conversão do conteúdo do arquivo para String para que seja
enviado via Stream de saída.
Estou usando o GlassFish e inclusive já alterei algumas configurações do servidor acreditando ser algum parâmetro setado como default,
mas nada adiantou!
No mobile não dá erro algum! O aplicativo inclusive usa depois um método comum de conexão que é compartilhado pela
aplicação toda e funciona sem problemas.
public void sendFile(Filex file,Participant participant,ServerData server,Instance instance)
{
username = participant.getLogin();
password = participant.getPassword();
serverpath = server.getServerName();
methodName = constants.constMethodSendFile;
formData = "method="+methodName+
"&username=" + username +
"&password=" + password +
"&servername=" + serverpath+
"&instId=" + instance.getId()+
"&fileName=" + file.getFileName()+
"&description="+file.getDescription()+
"&extension="+file.getExtensionFile()+
"&file=" + new String(Base64.encode(file.getImagebyte(),0,file.getImagebyte().length));
}
Agradeço se tiverem como ajudar de alguma forma!