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();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。