{
//上传文件
String innerSDCardPath = getInnerSDCardPath();
Log.e("sdpath",innerSDCardPath);
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.addInterceptor(new LogInterceptor())
.build();
Retrofit retrofit = new Retrofit.Builder()
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.baseUrl("http://120.27.23.105/file/")
.build();
postf postf = retrofit.create(postf.class);
File file = new File("storage/emulated/0/qqqqq.jpg");
//创建文件体
RequestBody requestFile =
RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), requestFile);
Call<postfile> getpostfile = postf.getpostfile("93",body);
getpostfile.enqueue(new Callback<postfile>() {
@Override
public void onResponse(Call<postfile> call, Response<postfile> response) {
Toast.makeText(retrofitactvity.this,"ssss",Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<postfile> call, Throwable t) {
String s = t.toString();
Log.e("ttt",s);
}
});
}
接口
@Multipart
@POST("upload")
Call<postfile> getpostfile(@Query("uid") String uid,
@Part MultipartBody.Part fiel);
/**
* 获取内置SD卡路径
* @return
*/
public String getInnerSDCardPath() {
return Environment.getExternalStorageDirectory().getPath();
}