[英]How to cancel AsyncRestTemplate HTTP request if they are taking too much time?
[英]Multipart request with retrofit 2.0 Android Taking too much time to request
我嘗試使用改造2.0提出多部分請求,以將圖像上傳到服務器。
現在我的圖像上有RequestBody
RequestBody requestFile = RequestBody.create(MediaType.parse("image/*"), file);
然后我以這種方式從數據創建
imagenPerfil = MultipartBody.Part.createFormData("user[image]",file.getName(),requestFile);
我的改裝界面
@Multipart
@Headers({"Accept: application/json","X-OS:android","X-Api-Version:1","X-FIREBASE-TOKEN:token"})
@POST("/update_user_details")
Call<UserDetailAddResponse> uploadMulFile(@Header("X-User-Token") String token_header, @Header("X-User-Email") String email,
@PartMap Map<String,Map<String,Object>> object,
@Part MultipartBody.Part image);
請求花太多時間在服務器上,或者最終它停止,或者不在服務器上發送請求。我該怎么辦,我將在另一個線程中使用它還是可以?
您可以在翻新設置中增加超時。
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.connectTimeout(1, TimeUnit.MINUTES)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(15, TimeUnit.SECONDS)
.build();
Retrofit.Builder builder = new Retrofit.Builder()
.baseUrl("http://10.0.2.2:3000/")
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create());
也許對您有幫助!
更多: https : //futurestud.io/tutorials/retrofit-2-customize-network-timeouts
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.