@Override protected Boolean doInBackground(Void... params) { boolean success = false; SoapService soapService = new SoapService(); soapService.setUtils( Common.getSERVER_ADDRESS() + Common.CAR_CHECK_SERVICE, Common.UPLOAD_PICTURE); for (int i = 0; i < photoEntityList.size(); i++) { if (isCancelled()) { break; } PhotoEntity photoEntity = photoEntityList.get(i); // 获取照片的物理路径 Bitmap bitmap; String fileName = photoEntity.getFileName(); if (photoEntity.getModifyAction().equals(Action.DELETE) || photoEntity.getModifyAction().equals(Action.COMMENT)) { fileName = ""; } Log.d(Common.TAG, "正在上传..."); Log.d(Common.TAG, photoEntity.getJsonString()); // 如果照片名为空串,表示要上传空照片 if (fileName.equals("")) { success = soapService.uploadPicture(photoEntity.getJsonString()); } else { bitmap = BitmapFactory.decodeFile(path + fileName); success = soapService.uploadPicture(bitmap, photoEntity.getJsonString()); } if (success) { // 如果成功上传,推动进度条 Log.d(Common.TAG, "上传成功!"); publishProgress(i + 1); } else { i--; } } return success; }
/** * 根据视角生成不同草图(干净的) * * <p>参数:1.视角 2.草图名称 */ private PhotoEntity generateSketch(String sketchName) { Bitmap bitmap = getBitmapFromFigure(figure, sketchName); // 将草图文件拷贝到指定目录 try { Helper.copy( new File(AppCommon.utilDirectory + getBitmapNameFromFigure(figure, sketchName)), new File(AppCommon.photoDirectory + sketchName)); } catch (IOException e) { e.printStackTrace(); } PhotoEntity photoEntity = new PhotoEntity(); // 修改时,将原来的index填写进去 int index = CarCheckActivity.isModify() ? (sketchName.equals("fSketch") ? fSketchIndex : rSketchIndex) : PhotoLayout.photoIndex++; JSONObject jsonObject = new JSONObject(); try { JSONObject photoJsonObject = new JSONObject(); photoJsonObject.put("height", bitmap.getHeight()); photoJsonObject.put("width", bitmap.getWidth()); jsonObject.put("Group", "frame"); jsonObject.put("Part", sketchName); jsonObject.put("PhotoData", photoJsonObject); jsonObject.put("UserId", UserInfo.getInstance().getId()); jsonObject.put("Key", UserInfo.getInstance().getKey()); jsonObject.put("CarId", BasicInfoLayout.carId); jsonObject.put("Action", photoEntity.getModifyAction()); jsonObject.put("Index", photoEntity.getIndex()); photoEntity = PhotoUtils.generatePhotoEntity( jsonObject, sketchName, sketchName, CarCheckActivity.isModify() ? Action.MODIFY : Action.NORMAL, index, ""); } catch (JSONException e) { e.printStackTrace(); } return photoEntity; }