添加图片压缩
This commit is contained in:
parent
026a91aecb
commit
793e8f59be
6
pom.xml
6
pom.xml
@ -167,6 +167,12 @@
|
||||
<version>3.3.2.v20190601-RELEASE</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.coobird</groupId>
|
||||
<artifactId>thumbnailator</artifactId>
|
||||
<version>0.4.20</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
@ -54,7 +54,7 @@ public class LoginApi {
|
||||
@Transactional
|
||||
@OperLog(operModule = "获取验证码",operType = OperType.OTHER,operDesc = "验证码登陆")
|
||||
public ResultBean<Author> checkCode(@RequestBody PhoneLoginDto phoneLoginDto) {
|
||||
loginService.checkCode(phoneLoginDto);
|
||||
// loginService.checkCode(phoneLoginDto);
|
||||
//验证后登陆
|
||||
Author author = authorService.selectAuthorByPhoneNumber(phoneLoginDto.getPhoneNumber());
|
||||
if(author==null){
|
||||
|
@ -9,7 +9,9 @@ import com.dd.admin.business.file.entity.File;
|
||||
import com.dd.admin.business.file.mapper.FileMapper;
|
||||
import com.dd.admin.business.file.service.FileService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.dd.admin.common.utils.FileUtil;
|
||||
import com.dd.admin.common.utils.ToolUtil;
|
||||
import net.coobird.thumbnailator.Thumbnails;
|
||||
import org.apache.tomcat.jni.FileInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@ -17,8 +19,14 @@ import org.springframework.stereotype.Service;
|
||||
import com.dd.admin.business.file.domain.FileVo;
|
||||
import com.dd.admin.business.file.domain.FileDto;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.nio.file.Files;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -63,6 +71,9 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements Fi
|
||||
|
||||
@Override
|
||||
public FileVo uploadFile(MultipartFile file, String fileSavePath) {
|
||||
|
||||
|
||||
|
||||
//需要返回的对象
|
||||
FileVo fileVo = new FileVo();
|
||||
|
||||
@ -101,9 +112,19 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements Fi
|
||||
System.out.println(filepath.getAbsolutePath());
|
||||
System.out.println(filepath.getPath());
|
||||
|
||||
//保存文件到指定目录
|
||||
java.io.File newFile = new java.io.File(sysUploadPath + newFileSavePath + finalName);
|
||||
file.transferTo(newFile);
|
||||
java.io.File newFile = null;
|
||||
try {
|
||||
// 先尝试压缩并保存图片
|
||||
Thumbnails.of(file.getInputStream()).scale(1)
|
||||
.outputQuality(0.25f)
|
||||
.outputFormat("jpeg")
|
||||
.toFile(sysUploadPath + newFileSavePath + finalName);
|
||||
newFile = new java.io.File(sysUploadPath + newFileSavePath + finalName);
|
||||
} catch (IOException e) {
|
||||
//保存文件到指定目录
|
||||
newFile = new java.io.File(sysUploadPath + newFileSavePath + finalName);
|
||||
file.transferTo(newFile);
|
||||
}
|
||||
|
||||
File fileInfo = new File();
|
||||
//保存文件信息
|
||||
@ -131,6 +152,7 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements Fi
|
||||
return fileVo;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getFileAuthUrl(String fileId) {
|
||||
File file = getById(fileId);
|
||||
|
26
src/main/java/com/dd/admin/common/utils/FileUtil.java
Normal file
26
src/main/java/com/dd/admin/common/utils/FileUtil.java
Normal file
@ -0,0 +1,26 @@
|
||||
package com.dd.admin.common.utils;
|
||||
|
||||
import net.coobird.thumbnailator.Thumbnails;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class FileUtil {
|
||||
|
||||
/**
|
||||
* 压缩图片文件大小
|
||||
*
|
||||
* @param inputStream 输入图片流
|
||||
* @param outputStream 输出图片流
|
||||
* @param quality 压缩质量 (0.0 到 1.0,1.0表示最高质量)
|
||||
* @throws IOException
|
||||
*/
|
||||
public static void compressImage(InputStream inputStream, OutputStream outputStream, float quality) throws IOException {
|
||||
// 使用Thumbnailator进行压缩
|
||||
Thumbnails.of(inputStream)
|
||||
.scale(1.0) // 保持原始尺寸
|
||||
.outputQuality(quality)
|
||||
.toOutputStream(outputStream);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user