`

springmvc RestTemplate文件上传

 
阅读更多

转自:http://blog.csdn.net/mhmyqn/article/details/26395743

在使用springmvc提供rest接口实现文件上传时,有时为了测试需要使用RestTemplate进行调用,那么在使用RestTemplate调用文件上传接口时有什么特别的地方呢?实际上只需要注意一点就行了,就是创建文件资源时需要使用org.springframework.core.io.FileSystemResource类,而不能直接使用java.io.File对象。

 

Controller中的rest接口代码如下:

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. @ResponseBody  
  2. @RequestMapping(value = "/upload.do", method = RequestMethod.POST)  
  3. public String upload(String fileName, MultipartFile jarFile) {  
  4.     // 下面是测试代码  
  5.     System.out.println(fileName);  
  6.     String originalFilename = jarFile.getOriginalFilename();  
  7.     System.out.println(originalFilename);  
  8.     try {  
  9.         String string = new String(jarFile.getBytes(), "UTF-8");  
  10.         System.out.println(string);  
  11.     } catch (UnsupportedEncodingException e) {  
  12.         e.printStackTrace();  
  13.     } catch (IOException e) {  
  14.         e.printStackTrace();  
  15.     }  
  16.     // TODO 处理文件内容...  
  17.     return "OK";  
  18. }  


使用RestTemplate测试上传代码如下:

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. @Test  
  2. public void testUpload() throws Exception {  
  3.     String url = "http://127.0.0.1:8080/test/upload.do";  
  4.     String filePath = "C:\\Users\\MikanMu\\Desktop\\test.txt";  
  5.   
  6.     RestTemplate rest = new RestTemplate();  
  7.     FileSystemResource resource = new FileSystemResource(new File(filePath));  
  8.     MultiValueMap<String, Object> param = new LinkedMultiValueMap<>();  
  9.     param.add("jarFile", resource);  
  10.     param.add("fileName""test.txt");  
  11.   
  12.     String string = rest.postForObject(url, param, String.class);  
  13.     System.out.println(string);  
  14. }  

其中:

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. String string = rest.postForObject(url, param, String.class);  

可以换成:

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String,Object>>(param);  
  2. ResponseEntity<String> responseEntity = rest.exchange(url, HttpMethod.POST, httpEntity, String.class);  
  3. System.out.println(responseEntity.getBody());  
分享到:
评论

相关推荐

    基于springmvc实现文件上传下载 基于AOP的日志功能

    基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于...

    IDEA SpringMVC 实现文件的上传下载

    在SpringMVC框架中,实现文件的上传与下载是常见的需求。IntelliJ IDEA作为流行的Java开发集成环境,为开发者提供了高效便捷的开发体验。在这个项目中,我们使用IDEA来构建一个基于SpringMVC的系统,实现了文件的...

    SpringMVC单文件上传、多文件上传、文件列表显示、文件下载

    本文将详细讲解如何实现SpringMVC中的单文件上传、多文件上传、文件列表显示以及文件下载。 首先,我们需要理解SpringMVC处理文件上传的基本原理。在SpringMVC中,文件上传通常涉及到`CommonsMultipartResolver`...

    SpringMVC文件上传,多文件上传实例

    在这个“SpringMVC文件上传,多文件上传实例”中,我们将深入探讨如何在SpringMVC环境中实现文件上传功能,包括单个文件上传以及多个文件的批量上传。 1. **文件上传原理**: 文件上传是通过HTTP协议的POST请求来...

    springMvc单文件多文件上传

    springMvc 文件上传,springMvc 支持单文件和多文件上传,

    基于springMVC的文件上传功能

    在Web应用中,文件上传是一项常见的功能,SpringMVC作为Spring框架的一部分,提供了一种方便、灵活的方式来实现这个功能。本文将深入探讨如何利用SpringMVC实现基于Java的文件上传功能,以及在eclipse开发环境中,...

    JavaEE企业级开发-----SpringMVC实现 文件的上传下载实验报告.docx

    在JavaEE企业级开发中,SpringMVC框架是广泛用于构建Web应用程序的工具,它提供了丰富的功能,包括处理文件上传和下载。本实验报告将详细阐述如何利用SpringMVC实现文件上传与下载的功能。 首先,文件上传的核心...

    springMVC 上传文件方式

    springMVC 上传文件方式springMVC 上传文件方式springMVC 上传文件方式

    尚硅谷SpringMVC上传文件

    在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的...

    springmvc带进度条上传源码

    在提供的"springmvc带进度条上传源码"中,可能包含了这些功能的实现,包括控制器、服务层、视图层以及前端的HTML、CSS和JavaScript文件。分析这些源码可以帮助你更好地理解文件上传和进度条显示的完整流程。如果你...

    SpringMVC上传文件 SSH上传文件

    本主题将深入探讨如何使用SpringMVC和SSH(Struts2 + Hibernate + Spring)框架来实现文件的上传与下载。 首先,我们来看SpringMVC中的文件上传。SpringMVC是Spring框架的一部分,它提供了强大的MVC设计模式支持,...

    SpringMVC 实现文件上传下载、国际化等

    本教程将深入讲解如何利用SpringMVC实现文件上传和下载功能,以及如何实现应用的国际化。下面我们将详细探讨这些知识点。 **一、SpringMVC文件上传** 在SpringMVC中,文件上传主要依赖于`CommonsMultipartResolver...

    springMVC上传文件.zip_springmvc_上传文件_文件上传

    下面将详细阐述如何在SpringMVC中进行文件上传,并涵盖相关知识点。 1. **MultipartFile接口** SpringMVC提供了一个名为`MultipartFile`的接口,用于处理多部分表单数据中的文件部分。这个接口提供了获取文件名、...

    SpringMVC相关文件上传下载需要的两个常用jar包

    jar包包含: com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springsource.org.apache.commons.io-1.4.0.jar

    Springmvc上传文件.docx

    SpringMVC 上传文件详解 SpringMVC 框架中上传文件是非常常见的操作,今天我们来详细讲解 SpringMVC 中的文件上传过程。 文件上传的必要条件 在 SpringMVC 中,文件上传需要满足以下几个条件: 1. 表单的 ...

    SpringMVC 头像文件上传

    在这个“SpringMVC 头像文件上传”的项目中,我们看到它与Spring、Hibernate和Maven一起使用,这是一套经典的Java后端开发栈,通常被称为SSH(Spring、Struts、Hibernate)。不过,Struts在这里可能被理解为Spring的...

    SpringMVC+Ajax异步文件上传

    `SpringMVC`作为Java后端的一个强大框架,提供了处理文件上传的能力。而`Ajax`技术则使得页面可以在不刷新的情况下与服务器进行交互,实现异步上传,极大地提升了用户体验。在本教程中,我们将探讨如何结合`...

    SpringMVC文件上传Demo代码

    在SpringMVC中实现文件上传是一项常见的任务,它允许用户通过表单将本地文件发送到服务器进行存储或处理。这个"SpringMVC文件上传Demo代码"是一个实例,演示了如何配置和使用SpringMVC来实现这一功能。 首先,我们...

    springMVC文件上传demo(亲测有效)

    本示例是一个完整的SpringMVC文件上传的Demo,具有实用性,且经过测试有效。下面将详细介绍这个Demo的实现原理和关键知识点。 1. **文件上传组件** SpringMVC利用`CommonsMultipartResolver`来处理文件上传请求。...

Global site tag (gtag.js) - Google Analytics