将mp4视频上传到服务器,SSLException

时间:2016-03-18 17:52:39

标签: android rest video okhttp okhttp3

我通过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

0 个答案:

没有答案