diff --git a/laws-modules/src/main/java/com/jero/modules/onlyoffice/controller/OnlyOfficeController.java b/laws-modules/src/main/java/com/jero/modules/onlyoffice/controller/OnlyOfficeController.java index d83c6ab0..261214cd 100644 --- a/laws-modules/src/main/java/com/jero/modules/onlyoffice/controller/OnlyOfficeController.java +++ b/laws-modules/src/main/java/com/jero/modules/onlyoffice/controller/OnlyOfficeController.java @@ -1,6 +1,7 @@ package com.jero.modules.onlyoffice.controller; import cn.hutool.core.io.IoUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.vo.Result; import com.jero.common.api.vo.ResultCommon; @@ -17,7 +18,6 @@ import com.sini.com.spire.doc.documents.PageOrientation; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.springframework.mock.web.MockMultipartHttpServletRequest; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -76,23 +76,18 @@ public class OnlyOfficeController { log.info("**********onlyoffice接收文档接口获得结果body************" + body); String downloadUri = (String) jsonObj.get("url"); + if (StrUtil.isBlank(downloadUri)) { + return; + } log.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri); // 创建临时文件 File file = File.createTempFile("onlyoffice", ".docx"); downloadNetFile(downloadUri, file); - // 将file转换为MultiPartFile - // 创建一个 MockMultipartHttpServletRequest 对象 - MockMultipartHttpServletRequest mockRequest = new MockMultipartHttpServletRequest(); - // 将文件转换为 InputStream InputStream inputStream = Files.newInputStream(file.toPath()); - // 使用工具类转换 InputStream 到 MultipartFile 对象 MultipartFile multipartFile = IntekeyUtils.convertMultipart(inputStream, fileNm); - // 将 MultipartFile 添加到 MockMultipartHttpServletRequest 中 - mockRequest.addFile(multipartFile); - mockRequest.setParameter("biz", "onlyOffice"); - Result result = ossFileService.outUpload(mockRequest); + Result result = ossFileService.commonUpload(multipartFile, "onlyoffice"); // 将文件名字改成和原始文件一样 OSSFile dbFile = ossFileService.getById(fileId); if (result.isSuccess()) { @@ -104,6 +99,8 @@ public class OnlyOfficeController { ossFile.setOnlId(dbFile.getOnlId()); ossFileService.updateById(ossFile); } + int saved = 0; + writer.write("{\"error\":" + saved + "}"); } catch (Exception e) { log.error("onlyOffice接收文档接口异常", e); }