/** * 将本地文件上传到文件系统 * * @param region 用户所在数据中心 * @param userId 用户id * @param targetFolderUuid 目标文件夹的id * @param filePath 本地文件路径 * @return */ public static String uploadFileToFileSystem(String region, String userId, String targetFolderUuid, String filePath) { FileSystemResource resource = new FileSystemResource(filePath); if (!resource.exists() || Strings.isNullOrEmpty(targetFolderUuid)) { return null; } MultiValueMap<String, Object> param = new LinkedMultiValueMap<>(); param.add("file", resource); param.add("userId", userId); param.add("targetFolderUuid", targetFolderUuid); try { String fileServerIp = getFileServerIp(region); ResponseEntity responseEntity = innerTokenAccess(HttpMethod.POST, fileServerIp + UPLOAD_URL, param, MediaType.MULTIPART_FORM_DATA); JSONObject jsonObject = JSONObject.fromObject(responseEntity.getBody()); return jsonObject.getString("fileUuid"); } catch (Exception e) { LOG.info("上传文件到文件系统失败:{}", e.getMessage()); } return null; } /** * 使用RestTemplate访问远程接口 * * @param method 方法的请求类型 POST or GET OR ... * @param url 请求的url * @param obj 请求的参数 * @param mediaType 头信息类型 * @return * @throws Exception */ public static ResponseEntity innerTokenAccess(HttpMethod method, String url, Object obj, MediaType mediaType) throws Exception { LOG.info("访问的链接:" + url); RestTemplate restTemplate = new RestTemplate(); HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setContentType(mediaType); HttpEntity httpEntity = new HttpEntity(obj, httpHeaders); ResponseEntity result = restTemplate.exchange(url, method, httpEntity, String.class); LOG.info("访问接口:" + url + "返回的值为:" + result.getStatusCodeValue()); return result; }
相关推荐
根据提供的文档标题、描述、标签以及部分内容,本文将详细介绍如何使用Spring框架中的`RestTemplate`进行文件上传、普通文件下载及大文件的流式下载。 ### 一、文件上传 在进行文件上传时,通常涉及到以下几个步骤...
- 使用`ByteArrayResource`将文件内容转换为可以发送的资源,然后通过`RestTemplate`的`exchange()`方法将文件发送到外部服务器。 ```java // 调用文件服务器上传接口 ResponseEntity<String> entity = ...
这需要我们编写代码来读取文件流并将其写入到本地文件系统。可以使用`MultipartFile`的`getBytes()`方法获取文件内容,然后使用`FileOutputStream`将内容写入目标文件。 以下是一个简单的示例,展示了如何接收和...
4. **后台运行minio.vbs**:Visual Basic Script (VBS) 文件,可能用于将MinIO服务器以后台服务的形式运行。这样,即使关闭了命令行窗口,MinIO也能持续运行,确保服务的连续性。 在部署和使用这些文件时,用户需要...
开发环境中,我们通常在本地配置文件中管理所有服务的配置,但在生产环境中,这种做法难以维护和更新。Config Server允许我们将配置存储在远程Git仓库中,各个服务在启动时从Config Server拉取相应的配置,实现配置...
- **如何包含Eureka服务器**:说明如何将Eureka服务器添加到项目中。 - **如何运行Eureka服务器**:介绍如何启动和运行Eureka服务器。 - **高可用性,区域和地区**:讲解如何配置Eureka服务器以支持高可用性和...
15.6.2 编写控制器和文件上传表单页面 15.7 杂项 15.7.1 静态资源处理 15.7.2 装配拦截器 15.7.3 异常处理 15.8 小结 第5篇 测试及实战 第16章 实战型单元测试 16.1 单元测试概述 16.1.1 为什么需要单元测试 16.1.2...
15.6.2 编写控制器和文件上传表单页面 15.7 杂项 15.7.1 静态资源处理 15.7.2 装配拦截器 15.7.3 异常处理 15.8 小结 第5篇 测试及实战 第16章 实战型单元测试 16.1 单元测试概述 16.1.1 为什么需要单元测试 16.1.2...
- **通过Zuul上传文件**:支持文件上传功能。 - **查询字符串编码**:处理URL中的查询字符串。 - **普通嵌入Zuul**:直接使用Zuul作为网关服务。 - **禁用Zuul过滤器**:选择性禁用某些过滤器。 - **为路线提供...
- **通过Zuul上传文件**:提供了关于如何通过Zuul网关上传文件的具体指导。 - **查询字符串编码**:讨论了如何处理URL中的查询字符串编码问题。 - **普通嵌入Zuul**:解释了如何在非Spring Boot项目中嵌入Zuul。 ##...