FileUpload实现图片的上传,类型,大小

 前台代码:

后台代码:

 

转自:http://blog.csdn.net/wangsky2/archive/2009/04/23/4103771.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 Spring Boot 中的 MultipartFile 类来实现图片上传。 首先,在你的 Spring Boot 应用的启动类上加上 @EnableWebMvc 注解,然后在你的 Controller 类中,使用 @RequestParam 注解来接收图片文件,如下所示: ``` @RequestMapping(value="/upload", method=RequestMethod.POST) public String handleFileUpload(@RequestParam("file") MultipartFile file) { // 进行文件上传操作 } ``` 然后,可以使用 MultipartFile 的 getBytes() 方法来获取文件的字节数组,并使用 FileOutputStream 将字节数组写入到文件中,就可以完成文件的上传操作了。 还有,在你的 HTML 文件中,需要使用 <form> 标签并设置 enctype 为 "multipart/form-data",才能正确的发送文件。 示例代码: ``` <form method="post" action="/upload" enctype="multipart/form-data"> <input type="file" name="file"/> <button type="submit">上传</button> </form> ``` 希望这能帮到你! ### 回答2: Spring Boot可以很方便地实现图片上传功能。要实现图片上传,我们需要先配置相关依赖和Bean,然后编写Controller层的代码。 首先,在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> ``` 接下来,我们需要在application.properties文件中配置文件上传路径: ``` # 文件上传路径 spring.servlet.multipart.location=/path/to/upload ``` 然后,我们可以创建一个UploadController类来处理文件上传请求: ```java @Controller public class UploadController { @PostMapping("/upload") public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException { // 获取上传的文件名 String fileName = file.getOriginalFilename(); // 获取上传文件的扩展名 String extension = StringUtils.getFilenameExtension(fileName); // 生成新的文件名 String newFileName = UUID.randomUUID().toString() + "." + extension; // 保存文件 Files.copy(file.getInputStream(), Paths.get("/path/to/upload", newFileName), StandardCopyOption.REPLACE_EXISTING); // 返回成功页面 return "success"; } } ``` 最后,我们可以创建一个HTML页面来实现文件上传的界面: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <body> <form th:action="@{/upload}" method="post" enctype="multipart/form-data"> <input type="file" name="file" id="file" /> <input type="submit" value="Upload" /> </form> </body> </html> ``` 以上就是使用Spring Boot实现图片上传的步骤。在上传文件时,我们可以根据需要对文件进行各种处理,例如改名、压缩等。同时,我们也可以通过限制文件大小、文件类型等来提高安全性。 ### 回答3: Spring Boot实现图片上传可以通过以下步骤: 1. 添加依赖:在pom.xml文件中添加Spring Web和Apache Commons FileUpload的依赖。 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version> </dependency> ``` 2. 创建一个Controller类:在Controller类中添加一个处理图片上传的POST请求的方法。 ```java @RestController public class UploadController { @PostMapping("/upload") public ResponseEntity<String> uploadFile(@RequestParam("file") MultipartFile file) { if (file.isEmpty()) { return ResponseEntity.badRequest().body("请选择要上传的文件"); } try { // 获取文件名 String fileName = file.getOriginalFilename(); // 设置文件存储路径 String filePath = "/path/to/save/" + fileName; // 文件存储 file.transferTo(new File(filePath)); return ResponseEntity.ok("文件上传成功"); } catch (IOException e) { e.printStackTrace(); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("文件上传失败"); } } } ``` 3. 配置文件上传限制:在application.properties文件中添加对文件上传的限制。 ```properties # 设置最大文件大小为10MB spring.servlet.multipart.max-file-size=10MB # 设置最大请求大小为10MB spring.servlet.multipart.max-request-size=10MB ``` 4. 创建一个HTML页面:在HTML页面中添加一个表单用于上传图片。 ```html <!DOCTYPE html> <html> <head> <title>图片上传</title> </head> <body> <h2>图片上传</h2> <form method="POST" enctype="multipart/form-data" action="/upload"> <input type="file" name="file" /><br/><br/> <input type="submit" value="上传" /> </form> </body> </html> ``` 以上是使用Spring Boot实现图片上传的基本步骤。在浏览器中访问HTML页面,选择图片文件并点击上传按钮即可实现图片上传上传图片会保存在指定的路径中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值