目录
配置信息:
在application.yml中添加配置信息:
#文件路径配置
file:
tempFilePath: ./file/
实体类:
package jnpf.entity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author CYY
* @date 2021/12/20 18:09
*/
@Data
@TableName("ai_file")
public class AiFile implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty(value = "主键ID")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
/**
* 文件名
*/
@ApiModelProperty(value = "文件名")
private String name;
/**
* 文件类型
*/
@ApiModelProperty(value = "文件类型")
private String type;
/**
* 文件大小
*/
@ApiModelProperty(value = "文件大小")
private Integer fileSize;
/**
* 文件路径
*/
@ApiModelProperty(value = "文件路径")
private String path;
/**
* 文件地址
*/
@ApiModelProperty(value = "文件地址")
private String url;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间", hidden = true)
private Date createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty(value = "更新时间", hidden = true)
private Date updateTime;
/**
* 是否已删除
*/
@TableLogic(value = "0", delval = "1")
@ApiModelProperty(value = "是否已删除", hidden = true)
private Integer isDeleted;
}
Mapper类:
package jnpf.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.entity.AiFile;
/**
* @author CYY
* @date 2021/12/20 18:20
*/
public interface AiFileMapper extends BaseMapper<AiFile> {
}
接口类:
package jnpf.service;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.base.ActionResult;
import jnpf.entity.AiFile;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author CYY
* @date 2021/12/20 18:17
*/
public interface AiFileToolsService extends IService<AiFile> {
ActionResult upload(MultipartFile file) throws IOException;
void download(Long id, HttpServletRequest req, HttpServletResponse res);
void preview(Long id, HttpServletRequest req, HttpServletResponse res);
}
接口实现类:
package jnpf.service.impl;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.base.ActionResult;
import jnpf.entity.AiFile;
import jnpf.mapper.AiFileMapper;
import jnpf.service.AiFileToolsService;
import org.springfram