docs: @ResponseBody
      @RequestMapping(value = "/file/{configId}", method = RequestMethod.POST)
      public JsonObjectBase updateFile(@PathVariable long configId, @RequestParam("myfilerar") MultipartFile file) {
  
          //
          // 校验
          //
          int fileSize = 1024 * 1024 * 4;
          String[] allowExtName = {".properties", ".xml"};
          fileUploadValidator.validateFile(file, fileSize, allowExtName);
  
          // 业务校验
          configValidator.validateUpdateFile(configId, file.getOriginalFilename());
  
          //
          // 更新
          //
          String emailNotification = "";
          try {
  
              String str = new String(file.getBytes(), "UTF-8");
              LOG.info("receive file: " + str);
  
              emailNotification = configMgr.updateItemValue(configId, str);
              LOG.info("update " + configId + " ok");
  
          } catch (Exception e) {
  
              LOG.error(e.toString());
              throw new FileUploadException("upload file error", e);
          }
  
          //
          // 通知ZK
          //
          configMgr.notifyZookeeper(configId);
  
          return buildSuccess(emailNotification);
      }