1

Я загружаю изображение и видео на php-сервер, используя multipart. Я хочу, чтобы иметь возможность отменить загрузку, когда пользователь нажимает кнопку, например whatsapp.Как отменить загрузку изображения и видео как whatsapp

Прогресс показан правильно, но я просто хочу отменить загрузку по клику, но я не знаю, как это сделать.

Вот мой текущий исходный код:

private String uploadFile() { 
    String responseString = null; 
    int count; 

     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(serviceurl+"conversations.php"); 

    try { 
     MultipartEntityBuilder entity = MultipartEntityBuilder.create();   


     File sourceFile = new File(imgstring); 
     /* example for setting a HttpMultipartMode */ 
     entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); 

     if(Integer.parseInt(msgtype)==3) 
     { 

      entity.addPart("thumb", new FileBody(videothumb)); 
     } 



     // Progress listener - updates task's progress 

     MyHttpEntity.ProgressListener progressListener = 
       new MyHttpEntity.ProgressListener() { 
        @Override 
        public void transferred(float progress) { 
         publishProgress((int) progress); 
         probar.setProgress((int) progress); 


        } 
       }; 

     // Adding file data to http body 
     entity.addPart("file", new FileBody(sourceFile)); 

     // Extra parameters if you want to pass to server 
       entity.addTextBody("from_user",(prefid.getString("userid", null)),ContentType.TEXT_PLAIN); 
     entity.addTextBody("to_user",userid,ContentType.TEXT_PLAIN); 
     entity.addTextBody("message_type", msgtype,ContentType.TEXT_PLAIN); 

     httppost.setEntity(new MyHttpEntity(entity.build(), 
       progressListener)); 

     // Making server call 
     HttpResponse response = httpclient.execute(httppost); 
     HttpEntity r_entity = response.getEntity(); 

     int statusCode = response.getStatusLine().getStatusCode(); 
     if (statusCode == 200) { 

      responseString = EntityUtils.toString(r_entity); 
     } else { 
      responseString = "Error occurred! Http Status Code: " 
        + statusCode; 
     } 
     // input.close(); 
    } catch (ClientProtocolException e) { 
     responseString = e.toString(); 
    } catch (IOException e) { 
     responseString = e.toString(); 
    } 

    return responseString; 

} 

ответ

0

Вызов отменить метод asynTask, чтобы отменить выполнение загрузки/выгрузки.

+0

Я делаю это новое UploadFileToServer(). Cancel (true); его работа не может быть неправильной, если вы знаете правильный путь, тогда дайте мне знать –

Смежные вопросы