E ai Galera. Beleza.
Estou fazendo uma app que faz upload de uma foto para um servidor php, no emulador vai tudo bem, porém quando eu fui rodar no meu Galaxy S não ia.
Depois de muitos testes descobrir que se o arquivo for maior de que 1kb não vai, mas ele não da erro, ele simplesmente fica o resto da vida tentando.
Alguém tem ideia do que pode ser?
Obrigado.
Codigo de upload abaixo.
String filename = "img.jpg";
URL connectURL = new URL(url);
HttpURLConnection conn = (HttpURLConnection) connectURL.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
dos.writeBytes(twoHyphens + boundary + lineEnd);
dos.writeBytes("Content-Disposition: form-data; name=\"Filedata\";filename=\"" + filename + "\"" + lineEnd);
dos.writeBytes(lineEnd);
bytesAvailable = in.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
byte[] buffer = new byte[bufferSize];
bytesRead = in.read(buffer, 0, bufferSize);
while (bytesRead > 0) {
dos.write(buffer, 0, bufferSize);
bytesAvailable = in.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = in.read(buffer, 0, bufferSize);
}
dos.writeBytes(lineEnd);
dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
in.close();
dos.flush();
dos.close();
DataInputStream din = new DataInputStream(conn.getInputStream());
String str;
StringBuilder b = new StringBuilder();
while (( str = din.readLine()) != null) {
b.append(str);
}
din.close();