springboot 实现图片上传功能

springboot 实现图片上传功能

这几天在做重构学校的图书馆项目,用sprinboot重新搭建项目,原项目是使用PHP搭建的,刚开始看着挺懵的,慢慢的就看懂。这个项目中遇到的难题是照片上传功能,弄了挺久才实现出来。

此功能没有导入如何jar包。

这里介绍呢,我就按照项目本身的结构来实现这个功能。

首先是数据库的数据结构,项目先是通过照片名(xxx.jpg)保存到数据库(picurl).
故我的想法是通过新书的名字,获取到这个新书对应的照片名,进行对上传上的照片进行名字的修改。
在这里插入图片描述

1.Mapper层
	<!--上传图片-->
	<select id="changeAvatar" resultType="NewBooks">
	    select * from newbooks where title=#{title}
	</select>
2.Service层
@Override
public NewBooks changePicUrl(String title) {
    //根据参数调用方法
    NewBooks newBooks = newBooksMapper.changeAvatar(title);
    if (newBooks == null){
        throw new NewsBookNotException("书库没有该书数据,请先添加!");
    }
    return newBooks;
}
3.自定义异常
3.1service层自定义异常

为了便于统一管理自定义异常,在service包中创一个ex包用来放自定义异常的基类异常,继承自RuntimeException类,并从父类生成子类的五个构造方法。
在这里插入图片描述创建NewsBookNotException类,当用户输入到的书名,在数据库中没有找到数据,则会出对应的信息。
在这里插入图片描述

3.2 上传文件自定义异常

处理异常

1.在处理上传文件的过程中,用户可能会选择错误的文件上传,此时就应该抛出对应的异常并进行处理。所以需要创建文件上传相关异常的基类,即在com.cy.store.controller.ex包下创建FileUploadException类,并继承自RuntimeException类。

package com.pzlib.service.ex;

/** 文件上传相关异常的基类 */
public class FileUploadException extends RuntimeException {
    public FileUploadException() {
        super();
    }

    public FileUploadException(String message) {
        super(message);
    }

    public FileUploadException(String message, Throwable cause) {
        super(message, cause);
    }

    public FileUploadException(Throwable cause) {
        super(cause);
    }

    protected FileUploadException(String message, Throwable cause, boolean enabl
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot实现图片上传可以通过以下步骤进行: 1. 首先,确保你的项目中已经引入了Spring Boot的相关依赖,包括`spring-boot-starter-web`和`spring-boot-starter-webflux`。 2. 在你的Controller中创建一个处理文件上传的接口,可以使用`@PostMapping`注解来指定请求路径和请求方法。例如: ```java @RestController public class FileUploadController { @PostMapping("/upload") public String uploadFile(@RequestParam("file") MultipartFile file) { // 处理文件上传逻辑 // ... return "File uploaded successfully!"; } } ``` 3. 在上述代码中,`@RequestParam("file")`注解用于接收前端传递的文件数据。你也可以通过添加`@RequestPart`注解来接收文件数据。 4. 接着,你需要配置文件上传的相关参数。在`application.properties`或`application.yml`文件中添加以下配置: ```properties # 文件上传限制 spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=10MB # 临时文件存储路径 spring.servlet.multipart.location=/tmp ``` 上述配置中,你可以根据需要修改文件上传的大小限制和临时文件存储路径。 5. 最后,在前端页面中创建一个表单用于文件上传,并将表单的`enctype`属性设置为`multipart/form-data`。示例如下: ```html <form method="POST" action="/upload" enctype="multipart/form-data"> <input type="file" name="file" /> <button type="submit">Upload</button> </form> ``` 通过以上步骤,你就可以在Spring Boot实现图片上传功能了。当用户选择文件并点击上传按钮时,文件将被发送到后端的`/upload`接口进行处理。你可以在该接口中编写逻辑来保存文件、生成文件URL等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值