【发布时间】:2017-02-21 04:12:22
【问题描述】:
我一直在关注各种教程并尝试使用 android 中的改造将视频上传到我的服务器。我唯一需要的参数如下图
即使我增加了超时,我仍然会收到超时异常。这是我的上传视频代码。
final OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(60, TimeUnit.SECONDS)
.connectTimeout(60, TimeUnit.SECONDS)
.build();
Log.v("test_get", "get the file");
//MultipartBody.Part vFile = MultipartBody.Part.createFormData("video", videoFile.getName(), videoBody);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://xxxx:xxx/")
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build();
SmileVideoAPI service = retrofit.create(SmileVideoAPI.class);
MediaType MEDIA_TYPE = MediaType.parse("video/mp4");
File videoFile = new File(pathToVideoFile);
RequestBody videoBody = RequestBody.create(MEDIA_TYPE, videoFile);
Log.v("test_get", "before uploading");
Call<ResponseBody> call = service.uploadVideo("desc", videoBody);
Log.v("test_get", "after uploading");
call.enqueue(new Callback<ResponseBody>(){
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if (response.isSuccessful())
{
Log.i("mok","S");
ResponseBody rb = response.body();
Log.i("mok",rb.toString());
}
else {
Log.i("mok", "F");
ResponseBody rb = response.errorBody();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
t.printStackTrace();
Log.i("mok",t.getCause()+"");
Log.i("mok","T");
finish();
}
});
return msg;
I have been trying taking reference from this post :
【问题讨论】:
-
您的问题或错误是什么?
-
超时了,已经在工作了
标签: android file-upload retrofit