android okHttp3 post上傳圖片給伺服器
阿新 • • 發佈:2019-02-20
進行post請求
OkHttpClient client = new OkHttpClient(); // form 表單形式上傳 MultipartBody.Builder requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM); if(file != null){ // MediaType.parse() 裡面是上傳的檔案型別。 RequestBody body = RequestBody.create(MediaType.parse("image/*"), file); String filename = file.getName(); // 引數分別為, 請求key ,檔名稱 , RequestBody requestBody.addFormDataPart("file", filename, body).addFormDataPart("uid", String.valueOf(uid)); } Request request = new Request.Builder().url(API.UpImg).post(requestBody.build()).build(); // readTimeout("請求超時時間" , 時間單位); client.newBuilder().readTimeout(5000, TimeUnit.MILLISECONDS).build().newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String string = response.body().string(); Message message = newMessage(); message.what = 0; message.obj = string; handler.sendMessage(message); } });