springboot中实现上传文件的功能简单示例
在Spring Boot中实现文件上传可以通过以下步骤:
配置文件上传相关的依赖:在项目的pom.xml文件中,添加以下依赖:
<
dependency
>
<
groupId
>org.springframework.boot</
groupId
>
<
artifactId
>spring-boot-starter-web</
artifactId
>
</
dependency
>
创建文件上传接口:在一个控制器类中创建一个处理文件上传的接口。
这里会将文件存储到同一文件夹下。由于同一文件夹下不能出现重复的文件名,这里用uuid随机生成一个随机的文件名来替代原文件名
@RestController
public
class
FileUploadController {
@PostMapping
(
"/upload"
)
public
String uploadFile(
@RequestParam
(
"file"
) MultipartFile file) {
if
(file.isEmpty()) {
return
ResponseEntity.badRequest().body(
"请选择要上传的文件"
);
}
try
{
// 获取原始文件名
String originalFilename = file.getOriginalFilename();
// 生成新的文件名,以防止文件名冲突
String newFilename = UUID.randomUUID().toString() +
"_"
+ originalFilename;
// 文件保存路径
String filePath = UPLOAD_DIRECTORY + newFilename;
// 保存文件到服务器
file.transferTo(
new
File(filePath));
// 返回文件上传成功的相关信息
String message =
"文件上传成功\n"
;
message +=
"文件名: "
+ originalFilename +
"\n"
;
message +=
"保存路径: "
+ filePath;
return
ResponseEntity.ok(message);
}
catch
(Exception e) {
return
ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(
"文件上传失败: "
+ e.getMessage());
}
}
}
配置文件上传限制:通过application.properties或application.yml配置文件,设置文件上传的一些限制。例如,可以设置最大文件大小、允许上传的文件类型等。
application.yml配置例子:
spring:
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
创建文件上传表单页面:在前端创建一个可以选择文件并提交上传的表单页面。
<!DOCTYPE html>
<
html
>
<
head
>
<
title
>File Upload Form</
title
>
</
head
>
<
body
>
<
h2
>File Upload Form</
h2
>
<
form
action
=
"/upload"
method
=
"POST"
enctype
=
"multipart/form-data"
>
<
input
type
=
"file"
name
=
"file"
/>
<
button
type
=
"submit"
>Upload</
button
>
</
form
>
</
body
>
</
html
>
总结
到此这篇关于springboot中实现上传文件功能的文章就介绍到这了
参考文章:http://blog.ncmem.com/wordpress/2023/11/21/springboot%e4%b8%ad%e5%ae%9e%e7%8e%b0%e4%b8%8a%e4%bc%a0%e6%96%87%e4%bb%b6%e7%9a%84%e5%8a%9f%e8%83%bd%e7%ae%80%e5%8d%95%e7%a4%ba%e4%be%8b/
欢迎入群一起讨论