Mary06
如果是肉眼都不能分辨的,那就可以压缩,
我是啊猿
需 求
chegy122
老师讲的课程里有相关代码?
慕的地5420249
@Service
public class ThumbnailService {
public static final int WIDTH = 100;
public static final int HEIGHT = 100;
//使用类库
public String thumbnail(MultipartFile file,String uploadPath, String realUploadPath){
String imgName = "thum_"+file.getOriginalFilename();
String des = realUploadPath+"/"+imgName;
try {
Thumbnails.of(file.getInputStream()).size(WIDTH,HEIGHT).toFile(des);
}catch (Exception e){
e.printStackTrace();
}
return uploadPath+"/"+imgName;
}
//使用java awt
public String awt(MultipartFile file,String uploadPath, String realUploadPath){
OutputStream os = null;
String imgName = "thum_"+file.getOriginalFilename();
String des = realUploadPath+"/"+imgName;
try {
os = new FileOutputStream(des);
Image image = ImageIO.read(file.getInputStream());
int width = image.getWidth(null);//原图宽
int height = image.getHeight(null);//原图高
int rate1 = width/WIDTH;//缩略图宽比例
int rate2 = height/HEIGHT;//缩略图高比例
int rate = 0;
if(rate1 > rate2){//宽度缩略比例大于高度缩略比例,使用宽度缩略比例
rate = rate1;
}else {
rate = rate2;
}
//计算缩略图最终的宽度和高度
int newWidth = width/rate;
int newHeight = height/rate;
BufferedImage bufferedImage = new BufferedImage(newWidth,newHeight,BufferedImage.TYPE_INT_RGB);
bufferedImage.getGraphics().drawImage(image.getScaledInstance(newWidth,newHeight,image.SCALE_SMOOTH),0,0,null);
String imageType = file.getContentType().substring(file.getContentType().indexOf("/")+1);
ImageIO.write(bufferedImage,imageType,os);
}catch (Exception e){
e.printStackTrace();
}finally {
if(os!=null){
try {
os.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
return uploadPath+"/"+imgName;
}
}
幻池雨声
冰羽天晖
<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version> </dependency>
qq_慕慕粉
绝世幻想家
就是spring的默认配置文件applicationContext.xml
仰角的天空
没有,老师没上传,
七21
链接: https://pan.baidu.com/s/1hsFyAna 密码: 5jhe 这是我自己写的,你可以参考看一下,应该是你的img路径写的有问题
抬头就是阳光c
可以把该课程的项目包上传上来吗?
JasonPorter
怎么改呀
T_Mer
按照老师的敲一便就好,那个包应该能找到。
小时候可跳了
我觉得可以这样理解:buffer相当于一个杯子,read方法是往这个杯子中注水,而write方法是从这个杯子中取水,杯子就是一个工具,具体还要看方法是怎么用它
苏莫离
在控制器里面有变量设置,指定缩略图生成保存文件夹。
需要在web目录中创建对应的目录。
拥抱大数据
简单的想睡觉
NeverGiveUp7
源码http://yun.baidu.com/share/link?shareid=2160247&uk=1714041258