else { try { log.info("DocumentServiceImpl breakpointUpload, upfile=[{}], chunkNumber=[{}], totalChunks=[{}], identifier=[{}], documentId=[{}], folderId=[{}], versionId=[{}]", new Object[]{file.getOriginalFilename(), chunkNumber, totalChunks, identifier, documentId, folderId, versionId}); double checkFileSize = (double)file.getSize() / 1048576.0; if (checkFileSize > this.maxbreakpointUploadFileSize) { throw new BimdcException(file.getOriginalFilename() + "文件大小不能超过" + this.maxbreakpointUploadFileSize + "M!"); } else { Map<String, Object> params = new HashMap(9); params.put("chunkNumber", chunkNumber); params.put("totalChunks", totalChunks); params.put("identifier", identifier); if (null != documentId) { params.put("documentId", documentId); } if (null != folderId) { params.put("folderId", folderId); } if (null != versionId) { params.put("versionId", versionId); } String url = this.serviceUrl + "document/v1/document/document/uploadResume"; String result = this.httpMultipartFormdata.postMultipartFile(url, params, file, "upfile"); log.info("upload result = [{}]", result); Document document = new Document(); if (result.contains("code")) { JSONObject jsonObject = JSONObject.fromObject(result); if ("0".equals(jsonObject.get("code"))) { jsonObject = JSONObject.fromObject(JSONObject.fromObject(result).get("data")); document.setDocumentId(jsonObject.getString("pathMd5")); document.setFileId(jsonObject.getString("id")); document.setVersionNo(Integer.parseInt(jsonObject.getString("updateNo"))); } } return document;
时间: 2024-04-28 09:22:34 浏览: 74
关于type="file"的input框样式修改小结
这段代码实现了文件上传的功能。首先,代码会记录一条日志,记录上传的文件名、分片编号、总分片数、标识符、文档ID、文件夹ID和版本ID等信息。然后,代码会检查上传文件的大小是否超过了设定的最大值,如果超过就会抛出一个自定义异常。接着,代码会创建一个包含上传参数的Map对象,并将文件分片的相关信息放入其中。然后,代码会调用一个HTTP上传文件的工具类的方法,将文件、参数和URL传入,执行上传操作。上传完成后,代码会解析上传结果,如果上传成功,则会从结果中获取文档ID、文件ID和版本号等信息,并设置到一个Document对象中返回。如果上传失败,则会返回一个空的Document对象。
阅读全文