使用POST进行改进失败,但仍上传文件

时间:2019-07-01 10:52:21

标签: android retrofit2

我正在尝试使用refrofit和php上传文件,它可以正常工作,但是它会onFailure不知道为什么...如果我打印stacktrace,说.. com.google.gson.JsonIOException:JSON文档是没有完全消耗。

以此我上传文件...

RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), archivo);

                MultipartBody.Part multipartBody = MultipartBody.Part.createFormData("fichero",archivo.getName(),requestFile);

                call.enqueue(new Callback<Usuario>() {
                    @Override
                    public void onResponse(Call<Usuario> call, Response<Usuario> response) {


                        Toast.makeText(PrincipalActivity.this, response.body().getResponse(), Toast.LENGTH_SHORT).show();
                    }

                    @Override
                    public void onFailure(Call<Usuario> call, Throwable t) {

                        Toast.makeText(PrincipalActivity.this, "Error de Conexión", Toast.LENGTH_SHORT).show();
                         t.printStackTrace();

                        int lala=0;

                    }
                });




public interface MetodosApi {


    @Multipart
    @POST("subir.php")
    Call<Usuario> subirArchivo(@Part MultipartBody.Part file);

}



public static Retrofit obtieneRetrofit() {

        if(retrofit==null) {

            Gson gson = new GsonBuilder()
                    .setLenient()
                    .create();

            OkHttpClient okHttpClient = new OkHttpClient();

            retrofit= new Retrofit.Builder().baseUrl(url).client(okHttpClient).addConverterFactory(GsonConverterFactory.create(gson))
                    .build();
        }

        return retrofit;

    }

不知道问题出在哪里...

0 个答案:

没有答案