文件上传是网络上常常采用的情景之一,最常见的状况便是上传头像等。今日我便带大伙儿做一个在Spring Boot文件上传的小实例。

java文件上传原理-java实现文件上传的三种方式-第1张图片1.pom包配备。

大家应用Spring Boot版本号2.1.0.jdk 1.8和tomcat 8.0。

org.springframework.boot

扭簧靴驱动器父母

2.1.0 .公布

1.8

org.springframework.boot

扭簧靴启动器梁端

org.springframework.boot

迷迭香叶

org.springframework.boot

春天启动开发环境

真正的

详细介绍了spring-boot-starter-迷迭香叶做为页面设计模块,并写了一些简洁的提交事例。

2.逐渐课程内容。

@回弹力运用

公共性类FileUploadWebApplication {

公共性静态数据void main(字符串数组[]主要参数)引起出现异常(

springapplication . run(fileuploawebapplication . class,args);

}

@豆

public TomcatServletWebServerFactory tomcatEmbedded(){ 0

TomcatServletWebServerFactory Tomcat = new TomcatServletWebServerFactory();

Tomcat . addconnectorcustomizers((TomcatConnectorCustomizer)射频连接器-->

if((connector . getprotocolhandler()instance of abstracthttp11 protocol)){ 0

//-1表明无限制

((抽象性http 11协议书)射频连接器. getProtocolHandler())。setMaxSwallowSize(-1);

}

});

偿还雄猫;

}

}

TomcatEmbedded这一段源代码是为了更好地处理文件上传超过10M时联接重设的难题。也没法捕捉此出现异常的內容GlobalException。

java文件上传原理-java实现文件上传的三种方式-第2张图片详细资料:Tomcat大上传文件联接重设。

3.写头版头条。

提交网页页面

Spring Boot上传文件实例



一个比较简单的公布要求.一个选择文件的选择框和一个提交按钮具备下列实际效果:

java文件上传原理-java实现文件上传的三种方式-第3张图片提交数据显示网页页面:

Spring Boot–提交情况

设计效果图如下所示:

java文件上传原理-java实现文件上传的三种方式-第4张图片4.编译程序提交操纵类。

转至localhost并跳转到提交网页页面:

@GetMapping("/")

公共性字符串数组数据库索引(){ 0

回到“提交”;

}

提交业务流程解决。

@PostMapping("/upload ")

公共性字符串数组单上传文件(@RequestParam(“文档”)多文档文档,

RedirectAttributes RedirectAttributes){ 0

if(file . isempty()){ 0

redirectattributes . addflashattribute(“信息”,“挑选要提交的文档”);

回到“跳转:uploadStatus”;

}

试着{

//获得文档并将其储存在某一地区

byte[]bytes = file . getbytes();

path path = path . get(UPLOADED _ FOLDER file . getoriginalfilename());

Files.write(途径,字节数);

redirectattributes . addflashattribute(“信息”,

您取得成功提交了“ ”文档。

} catch(IOexception e){ 0

e . printstacktrace();

}

回到“跳转:/uploadStatus”;

}

上边的编码就是指根据MultipartFile读取文件信息内容,假如文档是空,自动跳转到結果网页页面并根据提醒;要是没有为空读取文件流并将其载入特定的文件目录,結果将最后表明在界面上。

多一部分文档是Spring文件上传的封裝类,包括二进制流和文件名后缀等信息内容。有关特性还可以在环境变量中配备。基本上设备信息内容如下所示:

spring.http.multipart.enabled=true #默认设置适用上传文件.spring.http.multipart.file-size-threshold=0 #适用文档载入硬盘.spring.http.multipart.location= # 文件上传的临时性文件目录spring.http.multipart.max-file-size=1Mb # 较大适用文档大小spring.http.multipart.max-request-size=10Mb # 较大适用要求尺寸

最常见的是另外2个配备內容,他们限定了上传文件的尺寸。假如上传文件超出尺寸,将引起出现异常:

java文件上传原理-java实现文件上传的三种方式-第5张图片相关大量配备信息内容,请参照这里:通用性应用软件特性。

5.错误处理。

@ControllerAdvice

公共性类GlobalExceptionHandler {

@ExceptionHandler(多一部分出现异常. class)

公共性字符串数组返回值不正确1(多一部分出现异常,跳转特性跳转特性){ 0

redirectattributes . addflashattribute(" message ",e.getCause()。getMessage());

回到“跳转:/uploadStatus”;

}

}

设定一个@ ControllerAdvice来监管Multipart提交的图片大小是不是受到限制,发生这类出现异常时在主页得出提醒。拥有@ControllerAdvice,能够做许多事儿,例如全局性统一错误处理等。有兴趣的同学们能够出来了解一下。

6.汇总。

那样一个应用Spring Boot文件上传的简易演试就完成了,有兴趣的同学们可以下载实例编码并试着一下。

评论(0条)

刀客源码 游客评论