Spring Boot搭建文件上传服务的方法
本文实例为大家分享了SpringBoot搭建文件上传服务的具体代码,供大家参考,具体内容如下
一、服务端
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
packagecom.test.spring; importjava.io.FileOutputStream; importjava.io.InputStream; importjava.io.OutputStream; importjavax.servlet.MultipartConfigElement; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.Part; importorg.apache.commons.io.IOUtils; importorg.springframework.boot.SpringApplication; importorg.springframework.boot.autoconfigure.EnableAutoConfiguration; importorg.springframework.boot.context.embedded.MultipartConfigFactory; importorg.springframework.context.annotation.Bean; importorg.springframework.stereotype.Controller; importorg.springframework.web.bind.annotation.RequestMapping; importorg.springframework.web.bind.annotation.RequestMethod; importorg.springframework.web.bind.annotation.ResponseBody; @Controller @EnableAutoConfiguration publicclassFileUploadController { @RequestMapping(value="/upload",method=RequestMethod.POST) @ResponseBody publicStringupload(HttpServletRequestrequest)throwsException { Partpart=request.getPart("uploadfile"); InputStreaminput=part.getInputStream(); OutputStreamoutput=newFileOutputStream("d:/tmp/"+part.getSubmittedFileName()); IOUtils.copy(input,output); output.close(); input.close(); return"OK"; } @Bean MultipartConfigElementcreateMultipartConfigElement() { MultipartConfigFactorymcf=newMultipartConfigFactory(); /** *设置最大上传文件的大小,默认是10MB */ mcf.setMaxFileSize("50MB"); returnmcf.createMultipartConfig(); } publicstaticvoidmain(String[]args)throwsException{ SpringApplication.run(FileUploadController.class,args); } }
注意:spring-boot-starter-web1.3.3.RELEASE依赖的servlet是3.1
二、客户端
客户端使用httpclient调用
先配置maven依赖
org.apache.httpcomponents httpclient 4.5.2 org.apache.httpcomponents httpmime 4.5.2
测试代码
packagecom.test.upload; importjava.io.File; importorg.apache.http.HttpEntity; importorg.apache.http.client.methods.CloseableHttpResponse; importorg.apache.http.client.methods.HttpPost; importorg.apache.http.entity.mime.MultipartEntityBuilder; importorg.apache.http.impl.client.CloseableHttpClient; importorg.apache.http.impl.client.HttpClients; importorg.apache.http.util.EntityUtils; publicclassHttpUpload { publicstaticvoidmain(String[]args)throwsException { Stringurl="http://127.0.0.1:8080/upload"; CloseableHttpClientclient=HttpClients.createDefault(); HttpPosthttppost=newHttpPost(url); MultipartEntityBuilderbuilder=MultipartEntityBuilder.create(); builder.addBinaryBody("uploadfile",newFile("D:/develop/apache-karaf-3.0.4.zip")); HttpEntityreqEntity=builder.build(); httppost.setEntity(reqEntity); CloseableHttpResponseresp=client.execute(httppost); Stringstr=EntityUtils.toString(resp.getEntity()); System.out.println(str); resp.close(); client.close(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。