本文实例为大家分享了Spring Boot搭建文件上传服务的具体代码,供大家参考,具体内容如下
一、服务端
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE</version> </parent> <groupId>com.test.spring</groupId> <artifactId>spring-boot</artifactId> <version>1.0.0</version> <packaging>jar</packaging> <name>spring-boot</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> </dependencies> </project>
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依赖
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.5.2</version> </dependency>
测试代码
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(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍在windows上用nodejs搭建静态文件服务器的简单方法,包括了在windows上用nodejs搭建静态文件服务器的简单方法的使用技巧和注意事项,需要的朋友参考一下 在windows上用nodejs搭建一个静态文件服务器,即使你一点基础没有也能学会nodejs静态文件服务器的搭建,本文介绍的非常详细,很适合零基础入门的朋友学习。 首先安装nodejs: •新建一个node文件夹
本文向大家介绍CentOS搭建FTP文件服务的步骤,包括了CentOS搭建FTP文件服务的步骤的使用技巧和注意事项,需要的朋友参考一下 基于 CentOS 搭建 FTP 文件服务,供大家参考,具体内容如下 系统要求:CentOS 7.2 64 位操作系统 一.安装VSFTPD (vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security
现在我们将讨论如何在你自己的服务器上搭建 Git 服务来运行这些协议。 Note:这里我们将要演示在 Linux 服务器上进行一次基本且简化的安装所需的命令与步骤,当然在 Mac 或 Windows 服务器上同样可以运行这些服务。 事实上,在你的计算机基础架构中建立一个生产环境服务器,将不可避免的使用到不同的安全措施与操作系统工具。但是,希望你能从本节中获得一些必要的知识。 在开始架设 Git 服
本文向大家介绍springboot 文件上传大小配置的方法,包括了springboot 文件上传大小配置的方法的使用技巧和注意事项,需要的朋友参考一下 springboot上传文件大小的配置我这里记录两种,一种是设置在配置文件里只有两行代码,一种是加个Bean 首先第一种: application.properties中添加 maxFileSize 是单个文件大小 maxRequestSize是设
现在我们将讨论如何在你自己的服务器上搭建 Git 服务来运行这些协议。 Note 这里我们将要演示在 Linux 服务器上进行一次基本且简化的安装所需的命令与步骤,当然在 Mac 或 Windows 服务器上同样可以运行这些服务。 事实上,在你的计算机基础架构中建立一个生产环境服务器,将不可避免的使用到不同的安全措施与操作系统工具。但是,希望你能从本节中获得一些必要的知识。 在开始架设 Git 服
本文向大家介绍Java上传文件图片到服务器的方法,包括了Java上传文件图片到服务器的方法的使用技巧和注意事项,需要的朋友参考一下 这里我记录一个比较简单方便操作的JAVA上传文件图片到服务器并且保存,具体内容如下 首先是页面html的 我这是提交一个文件和类型 预览图片js 之后就是后台得到 好了现在重点就是看Upload 这个类了 这个类基本是封装好了的,需要 加的东西可以自己取看看然后修