JAVA本地文件上传下载预览

目录

配置信息:

实体类:

Mapper类:

接口类:

接口实现类:

控制类:

工具类:


配置信息:

在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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值