1

okhttp3 経由でサーバーにビデオをアップロードしているときに SSLException が発生しました。

final OkHttpClient clientOk = new OkHttpClient();

MultipartBody requestBody = new MultipartBody.Builder()
        .addFormDataPart("file1", "file",
                RequestBody.create(MediaType.parse("video/mp4"), sourceFile))
        .addFormDataPart("id", id)
        .build();

Request request = new Request.Builder()
        .header("x_token", token)
        .url(configuration.getApiBaseURLString() + "/path")
        .post(requestBody)
        .build();

clientOk.newCall(request).enqueue(new Callback() {

  @Override
  public void onFailure(Call call, IOException e) {
    Log.d(TAG, "onFailure " + e.getMessage());
  }

  @Override
  public void onResponse(Call call, Response response) throws IOException {
    Log.d(TAG, "onResponse " + response.toString());

  }
});

エラーは

  W/System.err: javax.net.ssl.SSLException: Write error: ssl=0x98e37a40: I/O error during system call, Broken pipe
W/System.err:     at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method)
W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:771)
W/System.err:     at okio.Okio$1.write(Okio.java:80)
W/System.err:     at okio.AsyncTimeout$1.write(AsyncTimeout.java:155)
W/System.err:     at okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:176)
W/System.err:     at okio.RealBufferedSink.write(RealBufferedSink.java:46)
W/System.err:     at okhttp3.internal.http.Http1xStream$FixedLengthSink.write(Http1xStream.java:286)
W/System.err:     at okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:176)
W/System.err:     at okio.RealBufferedSink.writeAll(RealBufferedSink.java:104)
W/System.err:     at okhttp3.RequestBody$3.writeTo(RequestBody.java:118)
W/System.err:     at okhttp3.MultipartBody.writeOrCountBytes(MultipartBody.java:171)
W/System.err:     at okhttp3.MultipartBody.writeTo(MultipartBody.java:113)
W/System.err:     at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:704)
W/System.err:     at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:563)
W/System.err:     at okhttp3.RealCall.getResponse(RealCall.java:241)
W/System.err:     at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:198)
W/System.err:     at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:160)
W/System.err:     at okhttp3.RealCall.access$100(RealCall.java:30)
W/System.err:     at okhttp3.RealCall$AsyncCall.execute(RealCall.java:127)
W/System.err:     at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
W/System.err:     at java.lang.Thread.run(Thread.java:818)

ビデオのサイズは 15.5 MB です。私が間違っていることを考えましたか?前もって感謝します!

5MB未満のサイズでも送信可能です。バックエンドでは、制限 'client_max_body_size' == 60MB を設定するように言われました

4

0 に答える 0