Исключение IllegalStateException: содержимое было использовано

#android

#Android

Вопрос:

 class VideoUploadTask extends AsyncTask<Void, Void, String> {
    @Override
    protected String doInBackground(Void... unsued) {
        try {
            Log.i("VideoUploadTask", "enters");

            HttpClient httpClient = new DefaultHttpClient();
            HttpContext localContext = new BasicHttpContext();
            HttpPost httpPost = new HttpPost(
                "http://192.168.5.10/ijoomer_development/index.php?option=com_ijoomeramp;plg_name=jomsocialamp;pview=albumamp;ptask=upload_videoamp;session_id=" ConstantData.session_id  "");
            MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            // bitmap.compress(CompressFormat.JPEG, 100, bos);
            byte[] data = bos.toByteArray();
            Log.i("categoryId in vedio upload2", "" ConstantData.categoryId);
            entity.addPart("categoryId", new StringBody(ConstantData.categoryId.toString()));
            entity.addPart("video", new ByteArrayBody(data, "myvideo.mp4"));
            /*
             * entity.addPart("photoCaption", new
             * StringBody(caption.getText() .toString()));
             */
            httpPost.setEntity(entity);
            HttpResponse response = httpClient.execute(httpPost,localContext);
            InputStream in = response.getEntity().getContent();
            BufferedReader reader = new BufferedReader(
                    new InputStreamReader(
                            response.getEntity().getContent(), "UTF-8"));

            String sResponse = reader.readLine();

            String strResponse = convertStreamToString(in);
            System.out.println(strResponse);
            if (dialog.isShowing())
                dialog.dismiss();

            return strResponse;

        } catch (Exception e) {
            if (dialog.isShowing())
                dialog.dismiss();
            // Toast.makeText(getApplicationContext(),"Exception Image",Toast.LENGTH_LONG).show();
            Log.e(e.getClass().getName(), e.getMessage(), e);
            return null;
        }

        // (null);
    }
  

получаю ошибку Исключение IllegalStateException: содержимое было израсходовано в журнале cat.в чем проблема, которую я не могу найти.Пожалуйста, помогите мне исправить эту ошибку.

Проблема с исключением IllegalStateException: содержимое было израсходовано, решена. Но из-за этого кодирования я не могу загрузить видео. Пожалуйста, дайте мне какое-нибудь предложение.

Ответ №1:

Вы вызываете getContent () дважды:

             InputStream in = response.getEntity().getContent();
            BufferedReader reader = new BufferedReader(
                    new InputStreamReader(
                            response.getEntity().getContent(), "UTF-8"));
  

Используется in для создания программы чтения.