4

Я собираюсь загрузить файл отдыхать API с Ion, как это (базы на примере кода, который Коуш в комплект поставки)Коуш Ion Library - Загрузить Multipart/форм-данных с ProgressBar, TimeoutException

 if (Upload != null && !Upload.isDone() && !Upload.isCancelled()){ 
      resetUploadReq(); 
      return; 
     } 

     String UploadUrl = Constants.Video_Upload_URL+userToken; 
     Upload    = Ion.with(UploadActivity.this).load(UploadUrl) 
           .uploadProgressHandler(new ProgressCallback() { 

           @Override 
           public void onProgress(long uploaded, long total) { 
            int mProgress = (int) (100*uploaded/total); 
            mUploadBtn.setProgress(mProgress); 
           } 
          }) 
           .setTimeout(15 * 1000) 
           .setMultipartFile("file", new File(Path)) 
           .asJsonObject() 
           .setCallback(new FutureCallback<JsonObject>() { 

           @Override 
           public void onCompleted(Exception ex, JsonObject result) { 
            resetUploadReq(); 
            if (ex == null){ 
             JsonObject ReturnJson = result.getAsJsonObject(); 
             Status     = ReturnJson.get("status").getAsBoolean(); 

             if (Status == true){ 

              VIDEO = ReturnJson.get("video").getAsString(); 
              // ConvertingCheck(VIDEO); 
             }else{ 
              mUploadBtn.setProgress(0); 
              Crouton.makeText(UploadActivity.this, "An Error occurred, Try again later", Style.ALERT).show(); 
             } 

            }else{ 
             mUploadBtn.setProgress(0); 
             Crouton.makeText(UploadActivity.this, "An Error occurred, Try again later", Style.ALERT).show(); 
             ex.printStackTrace(); 
             return; 
            } 
           } 
          }); 

Загрузить Процесс кажется чтобы сделать правильно, значит, я могу загрузить процент от uploadProgressHandler, и с этой информацией мой индикатор прогресса заканчивается. Когда я дошел до конца индикатора выполнения, это означает, что файл загружен! но мне кажется, что это не так, потому что я получил эту ошибку:

java.util.concurrent.TimeoutException 
    com.koushikdutta.async.http.AsyncHttpClient$2.run(AsyncHttpClient.java:240) 
    com.koushikdutta.async.AsyncServer.lockAndRunQueue(AsyncServer.java:686) 
    com.koushikdutta.async.AsyncServer.runLoop(AsyncServer.java:703) 
    com.koushikdutta.async.AsyncServer.run(AsyncServer.java:609) 
    com.koushikdutta.async.AsyncServer.access$4(AsyncServer.java:598) 
    com.koushikdutta.async.AsyncServer$13.run(AsyncServer.java:556) 

И после того, как пару раз (от 40 секунд до 2, 3 минуты в зависимости от размера файла), я получаю ответ от API, которые представляют видео загружено ! API JsonObject Response: {"status": true, "message": "upload successfully", "video": "PJ0O1"}

Где моя вина?

подробного журнала (цифры между 0-100 выгружается в процентах):

09-17 00:24:56.239: D/PARSVID(30058): (0 ms) http://parsvid.com/api/v1/upload/?token=a0d2741da0e- - - - - - - - - - - - - -ce37c5bb2d862: preparing request 
    09-17 00:24:56.239: I/PARSVID(30058): (0 ms) http://parsvid.com/api/v1/upload/?token=a0d2741da0e- - - - - - - - - - - - - -ce37c5bb2d862: Using loader: [email protected] 
    09-17 00:24:56.244: D/PARSVID(30058): (0 ms) http://parsvid.com/api/v1/upload/?token=a0d2741da0e- - - - - - - - - - - - - -ce37c5bb2d862: Executing request. 
    09-17 00:24:56.244: D/PARSVID(30058): (1 ms) http://parsvid.com/api/v1/upload/?token=a0d2741da0e- - - - - - - - - - - - - -ce37c5bb2d862: Reusing keep-alive socket 
    09-17 00:24:56.244: V/PARSVID(30058): (1 ms) http://parsvid.com/api/v1/upload/?token=a0d2741da0e- - - - - - - - - - - - - -ce37c5bb2d862: socket connected 
    09-17 00:24:56.249: V/PARSVID(30058): (5 ms) http://parsvid.com/api/v1/upload/?token=a0d2741da0e- - - - - - - - - - - - - -ce37c5bb2d862: 
    09-17 00:24:56.249: V/PARSVID(30058): POST /api/v1/upload/?token=a0d2741da0e- - - - - - - - - - - - - -ce37c5bb2d862 HTTP/1.1 
    09-17 00:24:56.249: V/PARSVID(30058): Host: parsvid.com 
    09-17 00:24:56.249: V/PARSVID(30058): User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.4.2; SM-G900H Build/KOT49H) 
    09-17 00:24:56.249: V/PARSVID(30058): Accept-Encoding: gzip, deflate 
    09-17 00:24:56.249: V/PARSVID(30058): Connection: keep-alive 
    09-17 00:24:56.249: V/PARSVID(30058): Accept: */* 
    09-17 00:24:56.249: V/PARSVID(30058): Cookie: csrftoken=Ljk6MvEvaYGy6aEaAw4LzvCffknajnvE; sessionid=69fmhs7r8x1y2bcbs8pvf5vbr4faymjx 
    09-17 00:24:56.249: V/PARSVID(30058): Content-Type: multipart/form-data; boundary=----------------------------7a7817fbefd0490382024db9fa0abe3f 
    09-17 00:24:56.249: V/PARSVID(30058): Content-Length: 2297298 
    09-17 00:24:56.249: V/PARSVID(30058): 
    09-17 00:24:56.249: I/System.out(30058): 0 
    09-17 00:24:56.269: I/System.out(30058): 0 
    09-17 00:24:56.269: I/System.out(30058): 1 
    09-17 00:24:56.274: I/System.out(30058): 2 
    09-17 00:24:56.274: I/System.out(30058): 5 
    09-17 00:24:56.274: I/System.out(30058): 11 
    09-17 00:24:56.274: I/System.out(30058): 22 
    09-17 00:24:56.274: I/System.out(30058): 27 
    09-17 00:25:35.029: I/System.out(30058): 33 
    09-17 00:25:35.044: I/System.out(30058): 36 
    09-17 00:25:50.794: I/System.out(30058): 45 
    09-17 00:25:50.819: I/System.out(30058): 46 
    09-17 00:26:07.094: I/System.out(30058): 55 
    09-17 00:26:23.379: I/System.out(30058): 56 
    09-17 00:26:23.414: I/System.out(30058): 65 
    09-17 00:26:39.419: I/System.out(30058): 68 
    09-17 00:26:39.424: I/System.out(30058): 74 
    09-17 00:26:54.209: I/System.out(30058): 79 
    09-17 00:26:54.239: I/System.out(30058): 84 
    09-17 00:27:08.369: I/System.out(30058): 90 
    09-17 00:27:08.394: I/System.out(30058): 93 
    09-17 00:27:22.194: I/System.out(30058): 99 
    09-17 00:27:22.199: V/PARSVID(30058): (145955 ms) http://parsvid.com/api/v1/upload/?token=a0d2741da0e- - - - - - - - - - - - - -ce37c5bb2d862: request completed 
    09-17 00:27:22.199: I/System.out(30058): 99 
    09-17 00:27:22.204: I/System.out(30058): 100 
    09-17 00:27:37.219: E/PARSVID(30058): (160976 ms) http://parsvid.com/api/v1/upload/?token=a0d2741da0e- - - - - - - - - - - - - -ce37c5bb2d862: Connection error 
    09-17 00:27:37.229: E/PARSVID(30058): null 
    09-17 00:27:37.229: E/PARSVID(30058): java.util.concurrent.TimeoutException 
    09-17 00:27:37.229: E/PARSVID(30058): at com.koushikdutta.async.http.AsyncHttpClient$2.run(AsyncHttpClient.java:240) 
    09-17 00:27:37.229: E/PARSVID(30058): at com.koushikdutta.async.AsyncServer.lockAndRunQueue(AsyncServer.java:686) 
    09-17 00:27:37.229: E/PARSVID(30058): at com.koushikdutta.async.AsyncServer.runLoop(AsyncServer.java:703) 
    09-17 00:27:37.229: E/PARSVID(30058): at com.koushikdutta.async.AsyncServer.run(AsyncServer.java:609) 
    09-17 00:27:37.229: E/PARSVID(30058): at com.koushikdutta.async.AsyncServer.access$4(AsyncServer.java:598) 
    09-17 00:27:37.229: E/PARSVID(30058): at com.koushikdutta.async.AsyncServer$13.run(AsyncServer.java:556) 
+1

вы выйдете за меня замуж? –

+0

Кто-нибудь должен это исправить? У меня такая же проблема, за исключением того, что она никогда не идет на сервер. – jpmastermind

+0

любое решение для этой проблемы –

ответ