SpringBoot如何搭建文件上传服务

这篇文章主要介绍Spring Boot如何搭建文件上传服务,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在荣成等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、网站制作 网站设计制作按需策划设计,公司网站建设,企业网站建设,品牌网站建设,网络营销推广,外贸网站建设,荣成网站建设费用合理。

本文实例为大家分享了Spring Boot搭建文件上传服务的具体代码,供大家参考,具体内容如下

一、服务端

pom.xml

 
 
 4.0.0 
  
  org.springframework.boot 
  spring-boot-starter-parent 
  1.3.3.RELEASE 
  
 
 com.test.spring 
 spring-boot 
 1.0.0 
 jar 
 
 spring-boot 
 http://maven.apache.org 
 
  
  UTF-8 
  1.8 
  1.8 
  
 
  
   
   org.springframework.boot 
   spring-boot-starter-web 
   
   
   commons-io 
   commons-io 
   2.4 
   
  
 
package com.test.spring; 
 
import java.io.FileOutputStream; 
import java.io.InputStream; 
import java.io.OutputStream; 
 
import javax.servlet.MultipartConfigElement; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.Part; 
 
import org.apache.commons.io.IOUtils; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 
import org.springframework.boot.context.embedded.MultipartConfigFactory; 
import org.springframework.context.annotation.Bean; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.ResponseBody; 
 
@Controller 
@EnableAutoConfiguration 
public class FileUploadController 
{ 
 @RequestMapping(value="/upload", method=RequestMethod.POST) 
 @ResponseBody 
 public String upload(HttpServletRequest request) throws Exception 
 { 
  Part part = request.getPart("uploadfile"); 
   
  InputStream input = part.getInputStream(); 
   
  OutputStream output = new FileOutputStream("d:/tmp/" + part.getSubmittedFileName()); 
  IOUtils.copy(input, output); 
   
  output.close(); 
  input.close(); 
   
  return "OK"; 
 } 
 
 @Bean 
 MultipartConfigElement createMultipartConfigElement() 
 { 
  MultipartConfigFactory mcf = new MultipartConfigFactory(); 
  /** 
   * 设置最大上传文件的大小,默认是10MB 
   */ 
  mcf.setMaxFileSize("50MB"); 
  return mcf.createMultipartConfig(); 
 } 
  
 public static void main(String[] args) throws Exception { 
  SpringApplication.run(FileUploadController.class, args); 
 } 
}

注意:spring-boot-starter-web 1.3.3.RELEASE 依赖的servlet是3.1

二、客户端

客户端使用httpclient调用

先配置maven依赖

 
 org.apache.httpcomponents 
 httpclient 
 4.5.2 
 
 
 org.apache.httpcomponents 
 httpmime 
 4.5.2 

测试代码

package com.test.upload; 
 
import java.io.File; 
 
import org.apache.http.HttpEntity; 
import org.apache.http.client.methods.CloseableHttpResponse; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.entity.mime.MultipartEntityBuilder; 
import org.apache.http.impl.client.CloseableHttpClient; 
import org.apache.http.impl.client.HttpClients; 
import org.apache.http.util.EntityUtils; 
 
public class HttpUpload 
{ 
 public static void main(String[] args)throws Exception 
 { 
  String url = "http://127.0.0.1:8080/upload"; 
  CloseableHttpClient client = HttpClients.createDefault(); 
   
  HttpPost httppost = new HttpPost(url); 
   
  MultipartEntityBuilder builder = MultipartEntityBuilder.create(); 
  builder.addBinaryBody("uploadfile", new File("D:/develop/apache-karaf-3.0.4.zip")); 
   
  HttpEntity reqEntity = builder.build(); 
   
  httppost.setEntity(reqEntity); 
   
  CloseableHttpResponse resp = client.execute(httppost); 
   
  String str = EntityUtils.toString(resp.getEntity()); 
  System.out.println(str); 
   
  resp.close(); 
  client.close(); 
 } 
}

以上是“Spring Boot如何搭建文件上传服务”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享名称:SpringBoot如何搭建文件上传服务
地址分享:http://scjbc.cn/article/poghie.html

其他资讯