From badc83cad7a47ec00af8a45a3d1ecddb696bb17b Mon Sep 17 00:00:00 2001 From: qirong <2032486488@qq.com> Date: 星期三, 06 十二月 2023 15:12:26 +0800 Subject: [PATCH] 修改 --- ruoyi-admin/src/main/java/org/dromara/web/service/SysRegisterService.java | 2 ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/entity/VideoRequest.java | 25 +++++ ruoyi-admin/src/main/resources/application-prod.yml | 2 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java | 42 ++++++-- ruoyi-admin/src/main/resources/logback-plus.xml | 2 ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java | 3 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/uitil/HttpUtils.java | 60 +++++++++++ ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssService.java | 3 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SynchronizationController.java | 33 ++++++ ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/runner/SystemApplicationRunner.java | 16 +- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssController.java | 71 +++++++++++--- 11 files changed, 218 insertions(+), 41 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysRegisterService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysRegisterService.java index e0ef425..c5aaea3 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysRegisterService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysRegisterService.java @@ -78,7 +78,7 @@ SysUserVo sysUserVo = userMapper.selectUserByUserName(username); SysUserRole userRole = new SysUserRole(); userRole.setUserId(sysUserVo.getUserId()); - userRole.setRoleId(Long.valueOf(RoleType.VIDEO.getType())); + userRole.setRoleId(Long.valueOf(RoleType.INTERNET.getType())); userRoleMapper.insert(userRole); recordLogininfor(tenantId, username, Constants.REGISTER, MessageUtils.message("user.register.success")); } diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index 2d96cc0..a2c2bed 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -105,7 +105,7 @@ spring.data: redis: # 鍦板潃 - host: 162.14.79.111 + host: 123.207.71.245 # 绔彛锛岄粯璁や负6379 port: 16379 password: 234#Wersdf! diff --git a/ruoyi-admin/src/main/resources/logback-plus.xml b/ruoyi-admin/src/main/resources/logback-plus.xml index 40fa33b..64da75f 100644 --- a/ruoyi-admin/src/main/resources/logback-plus.xml +++ b/ruoyi-admin/src/main/resources/logback-plus.xml @@ -40,7 +40,7 @@ <!-- 鏃ュ織鏂囦欢鍚嶆牸寮� --> <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> - <maxHistory>60</maxHistory> + <maxHistory>5</maxHistory> </rollingPolicy> <encoder> <pattern>${log.pattern}</pattern> diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/entity/VideoRequest.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/entity/VideoRequest.java new file mode 100644 index 0000000..837d19b --- /dev/null +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/entity/VideoRequest.java @@ -0,0 +1,25 @@ +package org.dromara.common.oss.entity; + + +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.web.multipart.MultipartFile; + +@NoArgsConstructor +@Data +public class VideoRequest { + + //鏂囦欢 + private MultipartFile file; + + //鏂囦欢鍚嶇О + private String fileName; + + @Override + public String toString() { + return "VideoRequest{" + + "file=" + file + + ", fileName='" + fileName + '\'' + + '}'; + } +} diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java index a271ba4..0ee947d 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java @@ -61,7 +61,8 @@ .setIdleConnectionTimeout(singleServerConfig.getIdleConnectionTimeout()) .setSubscriptionConnectionPoolSize(singleServerConfig.getSubscriptionConnectionPoolSize()) .setConnectionMinimumIdleSize(singleServerConfig.getConnectionMinimumIdleSize()) - .setConnectionPoolSize(singleServerConfig.getConnectionPoolSize()); + .setConnectionPoolSize(singleServerConfig.getConnectionPoolSize()) + .setSubscriptionsPerConnection(5000); } // 闆嗙兢閰嶇疆鏂瑰紡 鍙傝�冧笅鏂规敞閲� RedissonProperties.ClusterServersConfig clusterServersConfig = redissonProperties.getClusterServersConfig(); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SynchronizationController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SynchronizationController.java index 521af12..b1138ac 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SynchronizationController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SynchronizationController.java @@ -3,6 +3,8 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.core.util.ObjectUtil; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import jakarta.validation.constraints.NotEmpty; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -10,13 +12,21 @@ import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; import org.dromara.common.oss.entity.SynchronousRequest; +import org.dromara.common.oss.entity.VideoRequest; import org.dromara.common.redis.utils.QueueUtils; +import org.dromara.system.domain.properties.Boundary; +import org.dromara.system.domain.vo.SysOssUploadVo; import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.service.ISysOssService; +import org.dromara.system.uitil.HttpUtils; +import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.text.ParseException; +import java.util.HashMap; import java.util.List; import java.util.concurrent.TimeUnit; @@ -28,10 +38,11 @@ @RequestMapping("/resource/synchronization") public class SynchronizationController { + private final ISysOssService ossService; /** - * 涓婁紶鍚屾 + * 涓婁紶鍚屾 瑙嗛涓撶綉 * @param * @return */ @@ -49,6 +60,24 @@ return R.ok(); } + @PostMapping(value = "/uploadTwo") + public R uploadTwo(VideoRequest request1) throws IOException { + if (ObjectUtil.isNull(request1.getFile())) { + return R.fail("涓婁紶鏂囦欢涓嶈兘涓虹┖"); + } + SysOssVo oss = ossService.upload3(request1); + + //娣诲姞闃熷垪鏁版嵁 + QueueUtils.addDelayedQueueObject("OSS", oss.getOssId().toString(), 1, TimeUnit.DAYS); + log.info("閫氶亾: {} , 鍙戦�佹暟鎹�: {}", "OSS", oss.getOssId()); + SysOssUploadVo uploadVo = new SysOssUploadVo(); + uploadVo.setUrl(oss.getUrl()); + uploadVo.setFileName(oss.getOriginalName()); + uploadVo.setOssId(oss.getOssId().toString()); + uploadVo.setPassword(oss.getPassword()); + return R.ok(uploadVo); + } + /** * 鍒犻櫎鍚屾 * @@ -56,7 +85,6 @@ */ @PostMapping(value = "/delete") public R<Void> remove(String ossId) throws Exception { - ossId = "12312312"; return ossService.deleteWithValidByIds(List.of(convert(ossId)), true,"000000") ? R.ok() : R.fail("鎻愬彇鐮侀敊璇紒"); } @@ -70,4 +98,5 @@ return longArray; } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssController.java index 690abf2..d9b7da5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssController.java @@ -4,11 +4,15 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.json.JSONArray; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.domain.R; import org.dromara.common.core.validate.QueryGroup; import org.dromara.common.oss.entity.SynchronousRequest; +import org.dromara.common.oss.entity.VideoRequest; import org.dromara.common.redis.utils.CacheUtils; import org.dromara.common.redis.utils.QueueUtils; import org.dromara.common.web.core.BaseController; @@ -18,6 +22,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.system.domain.SysOss; import org.dromara.system.domain.bo.SysOssBo; +import org.dromara.system.domain.properties.Boundary; import org.dromara.system.domain.vo.SysOssUploadVo; import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.mapper.SysOssMapper; @@ -25,6 +30,7 @@ import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.NotEmpty; import lombok.RequiredArgsConstructor; +import org.dromara.system.uitil.HttpUtils; import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -32,6 +38,7 @@ import java.io.IOException; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import java.util.concurrent.TimeUnit; @@ -48,6 +55,7 @@ @RequestMapping("/resource/oss") public class SysOssController extends BaseController { + private final Boundary boundary; private final ISysOssService ossService; private final SysOssMapper ossMapper; /** @@ -72,33 +80,66 @@ return R.ok(list); } +// /** +// * 涓婁紶OSS瀵硅薄瀛樺偍 瑙嗛涓撶綉 +// * +// * @param file 鏂囦欢 +// */ +// @SaCheckPermission("system:oss:upload") +// @Log(title = "OSS瀵硅薄瀛樺偍", businessType = BusinessType.INSERT) +// @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) +// public R<SysOssUploadVo> upload(@RequestPart("file") MultipartFile file) throws IOException { +// if (ObjectUtil.isNull(file)) { +// return R.fail("涓婁紶鏂囦欢涓嶈兘涓虹┖"); +// } +// SysOssVo oss = ossService.upload(file); +// SynchronousRequest request = new SynchronousRequest(); +// request.setFile(file); +// +// +// +// //娣诲姞闃熷垪鏁版嵁 +// QueueUtils.addDelayedQueueObject("OSS", oss.getOssId().toString(), 1, TimeUnit.DAYS); +// log.info("閫氶亾: {} , 鍙戦�佹暟鎹�: {}", "OSS", oss.getOssId()); +// SysOssUploadVo uploadVo = new SysOssUploadVo(); +// uploadVo.setUrl(oss.getUrl()); +// uploadVo.setFileName(oss.getOriginalName()); +// uploadVo.setOssId(oss.getOssId().toString()); +// uploadVo.setPassword(oss.getPassword()); +// return R.ok(uploadVo); +// } + /** - * 涓婁紶OSS瀵硅薄瀛樺偍 + * 涓婁紶OSS瀵硅薄瀛樺偍 浜掕仈缃� * * @param file 鏂囦欢 */ @SaCheckPermission("system:oss:upload") @Log(title = "OSS瀵硅薄瀛樺偍", businessType = BusinessType.INSERT) @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public R<SysOssUploadVo> upload(@RequestPart("file") MultipartFile file) throws IOException { + public R<String> upload(@RequestPart("file") MultipartFile file) throws IOException { if (ObjectUtil.isNull(file)) { return R.fail("涓婁紶鏂囦欢涓嶈兘涓虹┖"); } - SysOssVo oss = ossService.upload(file); - SynchronousRequest request = new SynchronousRequest(); + VideoRequest request = new VideoRequest(); request.setFile(file); + request.setFileName(file.getOriginalFilename()); + String post = post(request); + String password = post.substring(post.indexOf("password\":\"") + 9, post.indexOf("\"}")); + return R.ok(password); + } - - - //娣诲姞闃熷垪鏁版嵁 - QueueUtils.addDelayedQueueObject("OSS", oss.getOssId().toString(), 300, TimeUnit.SECONDS); - log.info("閫氶亾: {} , 鍙戦�佹暟鎹�: {}", "OSS", oss.getOssId()); - SysOssUploadVo uploadVo = new SysOssUploadVo(); - uploadVo.setUrl(oss.getUrl()); - uploadVo.setFileName(oss.getOriginalName()); - uploadVo.setOssId(oss.getOssId().toString()); - uploadVo.setPassword(oss.getPassword()); - return R.ok(uploadVo); + private String post(VideoRequest request) throws IOException { + HashMap<String, String> headers = new HashMap<>(3); + String requestUrl = boundary.getChief() + "/resource/synchronization/uploadTwo"; + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); + headers.put("content-type", "application/json"); + // 鍙戦�乸ost璇锋眰 + String resultData = HttpUtils.sendPostRequest2(requestUrl, request); + // 骞舵帴鏀惰繑鍥炵粨鏋� + System.out.println(resultData); + return resultData; } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/runner/SystemApplicationRunner.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/runner/SystemApplicationRunner.java index 41ca5e6..cbb70db 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/runner/SystemApplicationRunner.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/runner/SystemApplicationRunner.java @@ -52,18 +52,18 @@ log.info("鍒濆鍖朞SS閰嶇疆鎴愬姛"); log.info("閫氶亾: {} 鐩戝惉涓�......", "OSS"); // 椤圭洰鍒濆鍖栬缃竴娆″嵆鍙� - QueueUtils.subscribeBlockingQueue("OSS", (String ossId) -> { - // 瑙傚療鎺ユ敹鏃堕棿 - log.info("閫氶亾: {}, 鏀跺埌鏁版嵁: {}", "OSS", ossId); - SysOssVo vo = ossMapper.selectVoById(ossId); - client.delete( vo.getUrl()); - ossMapper.deleteById(Long.valueOf(ossId)); +// QueueUtils.subscribeBlockingQueue("OSS", (String ossId) -> { +// // 瑙傚療鎺ユ敹鏃堕棿 +// log.info("閫氶亾: {}, 鏀跺埌鏁版嵁: {}", "OSS", ossId); +// SysOssVo vo = ossMapper.selectVoById(ossId); +// client.delete( vo.getUrl()); +// ossMapper.deleteById(Long.valueOf(ossId)); // try { -// HttpUtils.sendDeleteRequest(boundary.getLocalhost() + "/resource/synchronization/delete",ossId); +// HttpUtils.sendDeleteRequest(boundary.getVideo() + "/resource/synchronization/delete",ossId); // } catch (IOException e) { // throw new RuntimeException(e); // } - }); +// }); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssService.java index d6f0935..6f338a2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssService.java @@ -4,6 +4,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.oss.entity.SynchronousRequest; +import org.dromara.common.oss.entity.VideoRequest; import org.dromara.system.domain.bo.SysOssBo; import org.dromara.system.domain.vo.SysOssVo; import jakarta.servlet.http.HttpServletResponse; @@ -30,6 +31,8 @@ SysOssVo upload(MultipartFile file) throws IOException; + SysOssVo upload3(VideoRequest request) throws IOException; + SysOssVo upload2(SynchronousRequest request) throws ParseException; // SysOssVo upload(File file); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java index a27c86a..43eb3e5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import com.github.therapi.runtimejavadoc.repack.com.eclipsesource.json.Json; import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.domain.R; @@ -24,6 +25,7 @@ import org.dromara.common.oss.core.OssClient; import org.dromara.common.oss.entity.SynchronousRequest; import org.dromara.common.oss.entity.UploadResult; +import org.dromara.common.oss.entity.VideoRequest; import org.dromara.common.oss.enumd.AccessPolicyType; import org.dromara.common.oss.factory.OssFactory; import org.dromara.common.satoken.utils.LoginHelper; @@ -158,6 +160,22 @@ return buildResultEntity(originalfileName, suffix, storage.getConfigKey(), uploadResult, file); } + @Override + public SysOssVo upload3(VideoRequest request) throws IOException { + + String originalfileName = request.getFileName(); + String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length()); + OssClient storage = OssFactory.instance(); + UploadResult uploadResult; + try { + uploadResult = storage.uploadSuffix(request.getFile().getBytes(), suffix, request.getFile().getContentType()); + } catch (IOException e) { + throw new ServiceException(e.getMessage()); + } + // 淇濆瓨鏂囦欢淇℃伅 + return buildResultEntity(originalfileName, suffix, storage.getConfigKey(), uploadResult, request.getFile()); + } + /** * 鍚屾 * @param @@ -166,7 +184,7 @@ */ @Override public SysOssVo upload2(SynchronousRequest request) throws ParseException { - String originalfileName = request.getFile().getOriginalFilename(); + String originalfileName = request.getFileName(); String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length()); OssClient storage = OssFactory.instance(); UploadResult uploadResult; @@ -176,8 +194,10 @@ throw new ServiceException(e.getMessage()); } // 淇濆瓨鏂囦欢淇℃伅 + System.out.println("canshu:" + "," + originalfileName +"," + suffix +"," + storage.getConfigKey() +"," + uploadResult + "," +request.getOssId() + +"," + request.getPassword() +"," + request.getCreateBy() +"," + request.getFileName() +"," + request.getCreateTime()); return buildResultEntity2(originalfileName, suffix, storage.getConfigKey(), uploadResult,request.getOssId(), - request.getPassword(), request.getCreateBy(), request.getFileName(), request.getCreateTime()); + request.getPassword(), "1731588854831022081", request.getFileName(), request.getCreateTime()); } // @Override @@ -205,12 +225,12 @@ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); request.setFile(file); request.setFileName(oss.getOriginalName()); - request.setPath(uploadResult.getFilename() + "1"); + request.setPath(uploadResult.getFilename()); request.setCreateTime(format.format(oss.getCreateTime())); request.setPassword(oss.getPassword()); - request.setCreateBy(String.valueOf(oss.getCreateBy())); -// request.setOssId(String.valueOf(oss.getOssId())); - request.setOssId("12312312"); + request.setCreateBy("1731588854831022081"); + request.setOssId(String.valueOf(oss.getOssId())); +// request.setOssId(); post(request); SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class); @@ -261,7 +281,7 @@ storage.delete(sysOss.getUrl()); if(sysOss.getPassword().equals(password) || password.equals("000000")){ baseMapper.deleteById(sysOss.getOssId()); - HttpUtils.sendDeleteRequest(boundary.getLocalhost() + "/resource/synchronization/delete",String.valueOf(sysOss.getOssId())); + HttpUtils.sendDeleteRequest(boundary.getVideo() + "/resource/synchronization/delete",String.valueOf(sysOss.getOssId())); return true; } return false; @@ -299,16 +319,16 @@ private String post(SynchronousRequest request) throws IOException { HashMap<String, String> headers = new HashMap<>(3); - String requestUrl = boundary.getLocalhost() + "/resource/synchronization/upload"; + String requestUrl = boundary.getVideo() + "/resource/synchronization/upload"; ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); String jsonString = ""; try { // 灏咼ava瀵硅薄杞崲涓篔SON瀛楃涓� -// request.setFileName(URLEncoder.encode(request.getFileName(),"utf-8")); jsonString = objectMapper.writeValueAsString(request); - System.out.println(jsonString); +// System.out.println(jsonString); } catch (Exception e) { - e.printStackTrace(); +// e.printStackTrace(); } headers.put("content-type", "application/json"); // 鍙戦�乸ost璇锋眰 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/uitil/HttpUtils.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/uitil/HttpUtils.java index 937a7e2..5d1b2ea 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/uitil/HttpUtils.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/uitil/HttpUtils.java @@ -14,6 +14,7 @@ import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.util.EntityUtils; import org.dromara.common.oss.entity.SynchronousRequest; +import org.dromara.common.oss.entity.VideoRequest; import org.springframework.web.multipart.MultipartFile; import java.io.*; @@ -117,7 +118,7 @@ } /** - * 涓婁紶鍚屾 + * 涓婁紶鍚屾 瑙嗛涓撶綉 * @param url * @param entity * @return @@ -152,6 +153,63 @@ } /** + * 涓婁紶鍚屾 瑙嗛涓撶綉 + * @param url + * @param entity + * @return + * @throws IOException + */ + public static String sendPostRequest2(String url, VideoRequest entity) throws IOException { + org.apache.http.client.HttpClient httpClient = HttpClientBuilder.create().build(); + HttpPost httpPost = new HttpPost(url); + + ContentType contentType = ContentType.create("multipart/form-data", StandardCharsets.UTF_8); + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); + + // 娣诲姞MultipartFile鍙傛暟 + builder.addBinaryBody("file", entity.getFile().getBytes(), ContentType.MULTIPART_FORM_DATA, entity.getFile().getOriginalFilename()); + + // 娣诲姞String鍙傛暟 + builder.addTextBody("fileName", entity.getFileName(), contentType); + + HttpEntity multipart = builder.build(); + httpPost.setEntity(multipart); + + HttpResponse response = httpClient.execute(httpPost); + String responseBody = EntityUtils.toString(response.getEntity()); + System.out.println("Response: " + responseBody); + return responseBody; + } + + /** + * 涓婁紶鍚屾2 + * @param url + * @param entity + * @return + * @throws IOException + */ + public static String sendPostRequestTwo(String url, SynchronousRequest entity) throws IOException { + org.apache.http.client.HttpClient httpClient = HttpClientBuilder.create().build(); + HttpPost httpPost = new HttpPost(url); + + ContentType contentType = ContentType.create("multipart/form-data", StandardCharsets.UTF_8); + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); + + // 娣诲姞MultipartFile鍙傛暟 + builder.addBinaryBody("file", entity.getFile().getBytes(), ContentType.MULTIPART_FORM_DATA, entity.getFile().getOriginalFilename()); + + HttpEntity multipart = builder.build(); + httpPost.setEntity(multipart); + + HttpResponse response = httpClient.execute(httpPost); + String responseBody = EntityUtils.toString(response.getEntity()); + System.out.println("Response: " + responseBody); + return responseBody; + } + + /** * 鍒犻櫎鍚屾 * @param url // * @param parameter -- Gitblit v1.8.0