Android xutils3工具上传文件非常方便,只需要传入File文件数据或一些其它参数给RequestParams对象即可完成,现在我们来开始使用xutils工具上传文件吧!
步骤一:需要在项目的build.gradle里面引入xutils 3这个工具,代码如下:
implementation 'org.xutils:xutils:3.6.19'
步骤二:传递附带的参数和文件数据即可,代码如下:
RequestParams params = new RequestParams(UserLoginDialog.BASE_URL+"/api/uploadVoice");
params.setMultipart(true);
//携带的一些额外参数
params.addBodyParameter("jsonStr", json);
//需要上传的文件
params.addBodyParameter("file", new File(voice_url));
x.http().post(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
//上传成功返回结果,需要后台返回JSON字符串数据
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});当然了,RequestParams的addBodyParameter中的name如“jsonStr”以及“file”需要对应后台中的参数,例如下面这样:
@RequestMapping(value="/uploadVoice",method=RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam("jsonStr")String jsonStr,@RequestParam("file")
MultipartFile file,HttpServletRequest request) throws IOException{
System.out.println("接收的数据:"+jsonStr);
//中间省略.....
Message_txt msg = new Message_txt();
return JSON.toJSONString(msg);
}这样就可以实现Xutils工具的上传文件功能了!