mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-08-12 17:21:52 +08:00
修改mimetype字段为type,修改获取文件后缀名方式,目前图片文件预览还有些问题
This commit is contained in:
@@ -21,8 +21,8 @@ public class FilePageReqVO extends PageParam {
|
||||
@ApiModelProperty(value = "文件路径", example = "yudao", notes = "模糊匹配")
|
||||
private String path;
|
||||
|
||||
@ApiModelProperty(value = "文件扩展名", example = "jpg", notes = "模糊匹配")
|
||||
private String extName;
|
||||
@ApiModelProperty(value = "文件类型", example = "application/octet-stream", notes = "模糊匹配")
|
||||
private String type;
|
||||
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
@ApiModelProperty(value = "开始创建时间")
|
||||
|
@@ -22,11 +22,8 @@ public class FileRespVO {
|
||||
@ApiModelProperty(value = "文件 URL", required = true, example = "https://www.iocoder.cn/yudao.jpg")
|
||||
private String url;
|
||||
|
||||
@ApiModelProperty(value = "文件扩展名", example = "jpg")
|
||||
private String extName;
|
||||
|
||||
@ApiModelProperty(value = "文件MIME类型", example = "application/octet-stream")
|
||||
private String mimeType;
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "文件大小", example = "2048", required = true)
|
||||
private Integer size;
|
||||
|
@@ -45,16 +45,11 @@ public class FileDO extends BaseDO {
|
||||
* 访问地址
|
||||
*/
|
||||
private String url;
|
||||
/**
|
||||
* 文件扩展名
|
||||
* <p>
|
||||
* 通过 {@link cn.hutool.core.io.FileTypeUtil#getType(InputStream)} 获取
|
||||
*/
|
||||
private String extName;
|
||||
|
||||
/**
|
||||
* 文件的MIME类型,默认为"application/octet-stream"
|
||||
*/
|
||||
private String mimeType;
|
||||
private String type;
|
||||
/**
|
||||
* 文件大小
|
||||
*/
|
||||
|
@@ -18,7 +18,7 @@ public interface FileMapper extends BaseMapperX<FileDO> {
|
||||
default PageResult<FileDO> selectPage(FilePageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<FileDO>()
|
||||
.likeIfPresent(FileDO::getPath, reqVO.getPath())
|
||||
.likeIfPresent(FileDO::getExtName, reqVO.getExtName())
|
||||
.likeIfPresent(FileDO::getType, reqVO.getType())
|
||||
.betweenIfPresent(FileDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
||||
.orderByDesc(FileDO::getId));
|
||||
}
|
||||
|
@@ -41,12 +41,12 @@ public class FileServiceImpl implements FileService {
|
||||
@Override
|
||||
@SneakyThrows
|
||||
public String createFile(String name, String path, String mimeType, byte[] content) {
|
||||
//获取文件的真实扩展名
|
||||
String extName = FileTypeUtil.getType(new ByteArrayInputStream(content), name);
|
||||
FileNameUtil.extName(name);
|
||||
//获取文件的扩展名
|
||||
String extName = FileNameUtil.extName(name);
|
||||
if (StrUtil.isEmpty(path)) {
|
||||
//使用sha256计算文件都唯一路径,降低碰撞概率
|
||||
path = DigestUtil.sha256Hex(content) + '.' + extName;
|
||||
String sha256Hex = DigestUtil.sha256Hex(content);
|
||||
path = StrUtil.isBlank(extName) ? sha256Hex : (sha256Hex + '.' + extName);
|
||||
}
|
||||
// 如果 name 为空,则使用 path 填充
|
||||
if (StrUtil.isEmpty(name)) {
|
||||
@@ -64,8 +64,7 @@ public class FileServiceImpl implements FileService {
|
||||
file.setName(name);
|
||||
file.setPath(path);
|
||||
file.setUrl(url);
|
||||
file.setExtName(extName);
|
||||
file.setMimeType(mimeType);
|
||||
file.setType(mimeType);
|
||||
file.setSize(content.length);
|
||||
fileMapper.insert(file);
|
||||
return url;
|
||||
|
Reference in New Issue
Block a user