Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] demora ao enviar imagem para webservice

Uma dúvida:
Como eu vou enviar uma imagem em bitmap em um multipart?
Eu preciso pegar o array de bytes da imagem? Algo como isso:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);

?


2013/9/30 Diego Lopes Marques da Silva <diego.lopes@dce.ufpb.br>
Estou tentando enviar 18 imagens e o tamanho é 1mb no máximo.




2013/9/29 Bruno Albuquerque <bruno.albuquerque@gmail.com>
Mas quantas imagens está transferindo. Com esse link e com esse tamanho de imagem você conseguiria transferir um pouco mais de 1 imagem por segundo. Mas isso é em condições ideais onde você realmente consegue os 15 mbit/s (aproximadamente 1,78 M/s) entre o seu dispositivo e o servidor rodando o seu webservice.

O primeiro passo é determinar qual o seu gargalo real. O segundo é tentar encontrar maneiras de se eliminar esse gargalo.
 


On Thu, Sep 26, 2013 at 6:38 PM, Diego Lopes Marques da Silva <diego.lopes@dce.ufpb.br> wrote:
Estou utilizando um wifi d 15mb e a imagem maior é de 1.1mb



2013/9/26 Bruno Albuquerque <bruno.albuquerque@gmail.com>
Fora usar uma conexão mais rápida ou imagens menores?


On Thu, Sep 26, 2013 at 6:17 PM, Diego Lopes Marques da Silva <diego.lopes@dce.ufpb.br> wrote:
Pessoal,

Estou enviando uma lista de imagens para um webservice e está funcionando normalmente. O problema é que ele está demorando demais. Alguém sabe alguma outra alternativa para diminuir esse tempo?
Obrigado

Android

private List getPhotosFromSDCard(String dir){
            File dir = new File(Environment.getExternalStorageDirectory().getPath() + dir");
            if(dir.exists() && dir.isDirectory()){
                File[] files = dir.listFiles();
                if(files.length!=0){
                    filesPath = new LinkedList();
                    for(File f: files){
                        filesPath.add(f.getAbsolutePath());
                   
                    }

                }
            }

            return filesPath;

        }

private class UploadPhotosAsyncTask extends AsyncTask<List, Void, String> {
       
        private List files;
       

        @Override
        protected String doInBackground(List... arg0) {

            String res = null;
            try {
                files = arg0[0];
                HttpPost httppost = new HttpPost(Constants.URL_UPLOAD);

                MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 
                for(int i=0; i<files.size(); i++){
                    try {
                        if ((files.get(i).toString() != null) && (!files.get(i).toString().equals(""))) {
                                InputStreamBody foto = new InputStreamBody( new FileInputStream( new File(files.get(i).toString()) ), files.get(i).toString() );
                                multipartEntity.addPart("foto"+i, foto);
                               
                        }
                    } catch (FileNotFoundException e) {

                    }
                }
                httppost.setEntity(multipartEntity);
               
                HttpParams params = new BasicHttpParams();
                params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
                HttpClient httpClient = new DefaultHttpClient(params);               
               
                ResponseHandler<String> responseHandler = new BasicResponseHandler();
               
                res = httpClient.execute(httppost, responseHandler);
            } catch (SocketException e) {
                Log.e(Constants.TAG, e.getMessage(), e);                 
            } catch (Throwable e) {
                Log.e(Constants.TAG, e.getMessage(), e);
            }       
       
           
            return res;


        }

Webservice

 private void uploadFile(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
     
    for(Part part : request.getParts()) {
      String name = part.getName();
      InputStream is = request.getPart(name).getInputStream();
      String fileName = getUploadedFileName(part);
      DbUtil.insertImage(is, fileName, name);
    
    }
   
  }

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
Diego Lopes Marques
MSc. Candidate in Computer Science at PPgSC - UFRN



--
Diego Lopes Marques
MSc. Candidate in Computer Science at PPgSC - UFRN

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário