首页 > 编程语言 >用java框架spring boot写一个文件上传

用java框架spring boot写一个文件上传

时间:2023-11-21 11:56:32浏览次数:51  
标签:文件 java File spring boot file e4% 上传

在Spring Boot中,实现文件上传可以使用Spring Framework提供的MultipartResolver。

以下是一个简单的Spring Boot文件上传示例:

在POM文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

在application.properties中添加以下配置:
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

这些配置会设置允许上传的最大文件大小和请求大小。

创建一个控制器类,添加以下代码:
@RestController
@RequestMapping("/upload")
public class FileUploadController {

@PostMapping("/")
public ResponseEntity<Object> uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
File convertedFile = convertMultiPartToFile(file);
// 做一些处理,如保存到数据库或文件系统
return ResponseEntity.ok().build();
}

private File convertMultiPartToFile(MultipartFile file) throws IOException {
File convFile = new File(file.getOriginalFilename());
FileOutputStream fos = new FileOutputStream(convFile);
fos.write(file.getBytes());
fos.close();
return convFile;
}
}


在上面的控制器类中,我们使用了@RequestParam注解来接收上传的文件。convertMultiPartToFile方法将MultipartFile转换为File对象,并返回。

在浏览器中访问http://localhost:8080/upload,上传一个文件即可。
这只是一个简单的文件上传示例,你可以根据你的需求进行修改和扩展。

 

参考文章:http://blog.ncmem.com/wordpress/2023/11/21/%e7%94%a8java%e6%a1%86%e6%9e%b6spring-boot%e5%86%99%e4%b8%80%e4%b8%aa%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc%a0/

欢迎入群一起讨论

 

 

标签:文件,java,File,spring,boot,file,e4%,上传
From: https://www.cnblogs.com/songsu/p/17846305.html

相关文章

  • JAVA之List过滤
    List过滤的三种方式:通过java8中filter过滤器进行过滤通过For循环遍历过滤通过ForEach遍历过滤publicclassFilteringList{/***通过java8中filter过滤器进行过滤*@paramuserList*@return*/publicList<User>filterByStream(List......
  • Spring_2023_11_21_1 使用javaConfig实现DI
    Spring_Aop2023_11_21_1使用javaConfig实现DIjavaConfig,是在Spring3.0开始从一个独立的项目并入到Spring中的。javaConfig可以看成一个用于完成Bean装配的Spring配置文件,即Spring容器,只不过该容器不是XML文件,而是由程序员使用java自己编写的java类。一个类中......
  • 开发中遇到的问题总结---java中list和Collection之间的转换
    问题描述:将map中的values转换为list错误做法:强制转换(会报错)List<String>originalContractCodeList=(List<String)kpmcKpidMap.values();正确做法:List<String>originalContractCodeList=newArrayList<>(kpmcKpidMap.values());......
  • springboot jar基本结构
    @[TOC]Jar包的基本概念首先,让我们从JAR包的基本概念开始。JAR,全称JavaArchive,是Java的一种压缩文件格式。它主要用于打包、分发Java类和相关资源,包括Java类文件、资源文件、配置文件以及其他Java应用程序相关文件。与直接编译和运行Java源代码不同,使用JAR包可以更方便地进行应用程......
  • JavaScript-触摸操作
    触摸操作概述浏览器的触摸API由三个部分组成。Touch:一个触摸点TouchList:多个触摸点的集合TouchEvent:触摸引发的事件实例Touch接口的实例对象用来表示触摸点(一根手指或者一根触摸笔),包括位置、大小、形状、压力、目标元素等属性。有时,触摸动作由多个触摸点(多根手指)组成,多个触摸点的......
  • java向 jni传递问文件指针
    1、创建fd,jni接口publicstaticnativeintopenFileFromNative(FileDescriptorfileDescriptor);2、java文件获取文件指针ParcelFileDescriptorpfd==getContentResolver().openFileDescriptor(filePathUri,"rw");FileDescriptorfd=pfd.getFileDescriptor()......
  • javap获取jni 对应数据类型
    先用javac生成*.class文件,然后javap-cCallJni.class更多帮助:javap-help......
  • Android studio使用javadoc生成 api 说明文档
    文章目录1、工具下载2、实用工具添加注释3、使用该工具生成api文档4、查看生成的api文档5、帮助1、工具下载2、实用工具添加注释官方wikiTogeneratejavadocsforactiveelementpress“shift+alt+G”.Togeneratejavadocsforallelementsincurrentjavafilepre......
  • 聊聊如何利用springcloud gateway实现简易版灰度路由
    前言前阵子时间和朋友聊天,他们有个sass微服务,因为之前拆分过细,导致服务不仅调用链路过长,而且浪费服务资源,他们后面做了服务合并的重构,并即将上线。他觉得上线不能直接把线上的租户都全切到重构版的sass微服务,而是需要实现如下的效果他就问我说,有没有啥开源平台可以快速支持,因为......
  • Java开发工程师的前景:掌握未来的关键
    随着科技的飞速发展,Java开发工程师在当今的IT领域扮演着越来越重要的角色。Java作为一种强大的编程语言,被广泛应用于企业级应用、移动应用、Web应用等多个领域。在这个充满竞争的时代,掌握Java技术等于掌握了开启未来大门的钥匙。一、Java的稳定性和广泛性Java自1995年问世以来,一直......