Okhttpアップロードファイル

1756 ワード

参考サイト:https://blog.csdn.net/ljw124213/article/details/52317518
private void uploadfile(){ OkHttpClient client=new OkHttpClient();
//一種:パラメータ要求体FormBody paramsBody=new FormBody.Builder() .add(「desc」>「小魚」).build();
//二つ:ファイル要求audio/wavapplication/octet-stream MediaType type=MediaType.parse(“audio/wav”);//「text/xml;charset=utf-8」File file=new File(Environment.getExternalStorageDirectory()、「李華.wav」);
   // File file = new File("path");//file .
  RequestBody fileBody=RequestBody.create(type,file);

//3種類:混合パラメータとファイル要求RequestBody multipartBody=new MultipartBody.Builder() .Settype(MultipartBody.ALTERNATive)/同じ効果10//.addPart(Headers.of(//“Content-Disposition”,//“form-data; name=“desc””)//,paramsBody) .addPart(Headers.of("Content-Disposition","form-data;name="file";filename="+file.getName(),fileBody//のような効果.addFormDataPart("desc","小魚").addFormDataPart(“upload_user”,“15702486968”)//.addFormDataPart("file","李華.wav",fileBody)/ファイルを追加する.build(); Request request=new Request.Builder().url(“https://XXXXX/uploadfile/upload.up”) .addHeader(“User-Agent”,“android”) .header(“Content-Type”,“text/html; charset=utf-8;”) .post(multipartBody)/パラメータ、ファイル、または混合を転送し、変更すればリクエスト体でよい.build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) {
        }
        @Override
        public void onResponse(Call call, Response response) throws IOException {

            Log.i("xxx","1、 "+response.message());
            if(response.isSuccessful()){
                Log.i("xxx","2、 "+response.body().string());
            }
        }
    });

}