安卓端同时上传图片和文字,服务器端接收(二)

阅读: 评论:0

安卓端同时上传图片和文字,服务器端接收(二)

安卓端同时上传图片和文字,服务器端接收(二)

之前写过一篇(一),代码过于复杂,这次用新的方式实现同样的功能。

Android端主要通过OkHttp3实现上传

    private static final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");  private final OkHttpClient client = new OkHttpClient();  public String upload(String imageType,String userPhone,File file) throws NetworkException{  RequestBody fileBody = ate(MediaType.parse("image/png"), file);  RequestBody requestBody = new MultipartBody.Builder()  .setType(MultipartBody.FORM)  .addFormDataPart("file", "head_image", fileBody)  .addFormDataPart("name", "name")  .addFormDataPart("email", "email")  .build();  Request request = new Request.Builder()  .url("xxxxx")  .post(requestBody)  .build();  Response response;  try {  response = wCall(request).execute();  String json = response.body().string();System.out.println(json);if (response.isSuccessful()) {System.out.println("上传成功");} else {System.out.println("上传失败");}} catch (IOException e) {  e.printStackTrace();}return null;  }  

服务器端代码:

	/*** 移动端上传数据和图片* @param request* @return*/@PostMapping(value = "upload")@ResponseBodypublic String mobileUpload(HttpServletRequest request){JSONObject jsonObject = new JSONObject();//创建一个通用的多部分解析器CommonsMultipartResolver multipartResolver = new Session().getServletContext());Upload upload = new Upload();try{String name = Parameter("name");String email = Parameter("email");logger.info(name);logger.info(email);}catch (Exception e){e.printStackTrace();String();}try{//上传图片部分
//            List<String> imgs = new ArrayList<String>();if(multipartResolver.isMultipart(request)) {//转换成多部分requestMultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;Map<String, MultipartFile> fileMap = FileMap();Iterator<String> fileNameIterator = fileMap.keySet().iterator();//上传路径File filedir = new File(UploadFileUtil.MOBILE_IMAGE_DIR);if (!ists() && !filedir.isDirectory()){filedir.mkdirs();}//获取到图片且必须一张if (fileNameIterator.hasNext()) {MultipartFile file = (());if (file.isEmpty() || Size() == 0) {}String [] strings = ContentType().split("/");String type = strings[1];logger.info("图片类型:" + type);//重命名上传后的文件名Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");String fileName = sdf.format(date) + "." + type;logger.info("文件名称为:"+fileName);//定义上传路径File localFile = new File(UploadFileUtil.MOBILE_IMAGE_DIR + fileName);ansferTo(localFile);System.out.println("上传路径为:" &#Path());//设置图片路径upload.Path());} else {//没有上传图片的话,则抛出异常throw new Exception("未上传图片");}        }} catch (Exception e){jsonObject.put("result",false);jsonObject.put("msg",e.getMessage());String();}jsonObject.put("result",true);jsonObject.put("msg","success");String();}

本文发布于:2024-01-29 04:38:44,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170647432912755.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23