添加图片压缩
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>
|
<version>3.3.2.v20190601-RELEASE</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.coobird</groupId>
|
||||||
|
<artifactId>thumbnailator</artifactId>
|
||||||
|
<version>0.4.20</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
@ -54,7 +54,7 @@ public class LoginApi {
|
|||||||
@Transactional
|
@Transactional
|
||||||
@OperLog(operModule = "获取验证码",operType = OperType.OTHER,operDesc = "验证码登陆")
|
@OperLog(operModule = "获取验证码",operType = OperType.OTHER,operDesc = "验证码登陆")
|
||||||
public ResultBean<Author> checkCode(@RequestBody PhoneLoginDto phoneLoginDto) {
|
public ResultBean<Author> checkCode(@RequestBody PhoneLoginDto phoneLoginDto) {
|
||||||
loginService.checkCode(phoneLoginDto);
|
// loginService.checkCode(phoneLoginDto);
|
||||||
//验证后登陆
|
//验证后登陆
|
||||||
Author author = authorService.selectAuthorByPhoneNumber(phoneLoginDto.getPhoneNumber());
|
Author author = authorService.selectAuthorByPhoneNumber(phoneLoginDto.getPhoneNumber());
|
||||||
if(author==null){
|
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.mapper.FileMapper;
|
||||||
import com.dd.admin.business.file.service.FileService;
|
import com.dd.admin.business.file.service.FileService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.dd.admin.common.utils.FileUtil;
|
||||||
import com.dd.admin.common.utils.ToolUtil;
|
import com.dd.admin.common.utils.ToolUtil;
|
||||||
|
import net.coobird.thumbnailator.Thumbnails;
|
||||||
import org.apache.tomcat.jni.FileInfo;
|
import org.apache.tomcat.jni.FileInfo;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
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.FileVo;
|
||||||
import com.dd.admin.business.file.domain.FileDto;
|
import com.dd.admin.business.file.domain.FileDto;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
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.math.BigDecimal;
|
||||||
|
import java.nio.file.Files;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -63,6 +71,9 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements Fi
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FileVo uploadFile(MultipartFile file, String fileSavePath) {
|
public FileVo uploadFile(MultipartFile file, String fileSavePath) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//需要返回的对象
|
//需要返回的对象
|
||||||
FileVo fileVo = new FileVo();
|
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.getAbsolutePath());
|
||||||
System.out.println(filepath.getPath());
|
System.out.println(filepath.getPath());
|
||||||
|
|
||||||
//保存文件到指定目录
|
java.io.File newFile = null;
|
||||||
java.io.File newFile = new java.io.File(sysUploadPath + newFileSavePath + finalName);
|
try {
|
||||||
file.transferTo(newFile);
|
// 先尝试压缩并保存图片
|
||||||
|
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();
|
File fileInfo = new File();
|
||||||
//保存文件信息
|
//保存文件信息
|
||||||
@ -131,6 +152,7 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements Fi
|
|||||||
return fileVo;
|
return fileVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getFileAuthUrl(String fileId) {
|
public String getFileAuthUrl(String fileId) {
|
||||||
File file = getById(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