为了账号安全,请及时绑定邮箱和手机立即绑定

Android端使用OKHTTP通过MultiPartBody提交数据,服务端该如何写?

Android端使用OKHTTP通过MultiPartBody提交数据,服务端该如何写?

蜡笔小新的Qe 2018-10-19 16:59:15
//为一个按钮注册的click事件 public void doPost(View v){     new Thread(){         @Override         public void run() {             L.e(picPath);             File file=new File(picPath);             MediaType mediaType= MediaType.parse("application/octet-stream");             RequestBody requestBody=RequestBody.create(mediaType,file);             RequestBody multipartBody=new MultipartBody.Builder().setType(MultipartBody.FORM)                     .addFormDataPart("username",username)                     .addFormDataPart("password",password)                     .addFormDataPart("mIcon",username,requestBody)                     .build();             Request request=new Request.Builder().url(mBaseUrl+"getMessage").post(multipartBody).build();             execute(request);         }     }.start();   //execute方法 private void execute(Request request) {     Call call=okHttpClient.newCall(request);     call.enqueue(new Callback() {         @Override         public void onFailure(Call call, IOException e) {             L.e("onFailure :"+e.getMessage());             e.printStackTrace();         }         @Override         public void onResponse(Call call, Response response) throws IOException {             L.e("onResponse :");             res=response.body().string();             L.e(res);             runOnUiThread(new Runnable() {                 @Override                 public void run() {                     mTvResult.setText(res);                 }             });         }     }); } //服务端 @WebServlet("/getMessage") public class test extends HttpServlet {     protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {         String userName=request.getParameter("username");         String password=request.getParameter("password");         System.out.println(userName+"  "+password);         File mIcon=new File("E//test_img",userName);         InputStream is= request.getInputStream();         FileOutputStream fos=new FileOutputStream(mIcon);         int len;         byte [] buf=new byte[3*1024];         while((len=is.read(buf))!=-1)         {             fos.write(buf,0,len);         }         fos.flush();         fos.close();     }这样接收到的userName和password都是空。恳请各位大牛指点一二。。。
查看完整描述

2 回答

?
imooc_幕课网

TA贡献12条经验 获得超3个赞

你客户端发送username值,谁知道是不是空值呢?

查看完整回答
反对 回复 2018-10-29
  • 2 回答
  • 0 关注
  • 7143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信