|
@@ -217,16 +217,26 @@ public class RotateTask implements Runnable {
|
|
|
File thumbFile = new File(thumbPath);
|
|
|
if (thumbFile.exists()) {
|
|
|
LOGGER.info("生成缩略图:原文件名{},重命名为新文件名开始", fileName);
|
|
|
- thumbFile.renameTo(new File(thumbNew));
|
|
|
+ File thumbFileNew = new File(thumbNew);
|
|
|
+ thumbFileNew.delete();
|
|
|
+ thumbFile.renameTo(thumbFileNew);
|
|
|
LOGGER.info("生成缩略图:原文件名{},重命名为新文件名结束,开始旋转", fileName);
|
|
|
- InputStream is = new FileInputStream(thumbNew);
|
|
|
- ImageCompression.rotate(new File(thumbNew), new File(thumbPath), degree);
|
|
|
+ try {
|
|
|
+ ImageCompression.rotate(new File(thumbNew), new File(thumbPath), degree);
|
|
|
+ } catch (IOException e) {
|
|
|
+ //旋转失败,还原图片
|
|
|
+ LOGGER.info("生成缩略图:失败。原文件名{},还原开始,错误原因:{}", fileName, e.getMessage());
|
|
|
+ thumbFile.delete();
|
|
|
+ new File(thumbNew).renameTo(thumbFile);
|
|
|
+ LOGGER.info("生成缩略图:失败。原文件名{},还原结束", fileName);
|
|
|
+ }
|
|
|
+
|
|
|
LOGGER.info("生成缩略图:原文件名{},旋转结束", fileName);
|
|
|
- is.close();
|
|
|
}
|
|
|
|
|
|
if (!thumbFile.exists()) {
|
|
|
LOGGER.info("生成缩略图:原文件名{},目标文件丢失,还原图片开始", fileName);
|
|
|
+ thumbFile.delete();
|
|
|
new File(thumbNew).renameTo(thumbFile);
|
|
|
LOGGER.info("生成缩略图:原文件名{},目标文件丢失,还原图片结束", fileName);
|
|
|
} else {
|
|
@@ -238,15 +248,25 @@ public class RotateTask implements Runnable {
|
|
|
File imageFile = new File(imagePath);
|
|
|
if (imageFile.exists()) {
|
|
|
LOGGER.info("生成裁切图:原文件名{},重命名为新文件名开始", fileName);
|
|
|
- imageFile.renameTo(new File(imageNew));
|
|
|
+ File imageFileNew = new File(imageNew);
|
|
|
+ imageFileNew.delete();
|
|
|
+ imageFile.renameTo(imageFileNew);
|
|
|
LOGGER.info("生成裁切图:原文件名{},重命名为新文件名结束,开始旋转", fileName);
|
|
|
- InputStream is = new FileInputStream(imageNew);
|
|
|
- ImageCompression.rotate(new File(imageNew), new File(imagePath), degree);
|
|
|
+ try {
|
|
|
+ ImageCompression.rotate(new File(imageNew), new File(imagePath), degree);
|
|
|
+ } catch (IOException e) {
|
|
|
+ //旋转失败,还原图片
|
|
|
+ LOGGER.info("生成裁切图:失败。原文件名{},还原开始,错误原因:{}", fileName, e.getMessage());
|
|
|
+ imageFile.delete();
|
|
|
+ new File(imageNew).renameTo(imageFile);
|
|
|
+ LOGGER.info("生成裁切图:失败。原文件名{},还原结束", fileName);
|
|
|
+ }
|
|
|
+
|
|
|
LOGGER.info("生成裁切图:原文件名{},旋转结束", fileName);
|
|
|
- is.close();
|
|
|
}
|
|
|
if (!imageFile.exists()) {
|
|
|
LOGGER.info("生成裁切图:原文件名{},目标文件丢失,还原图片开始", fileName);
|
|
|
+ imageFile.delete();
|
|
|
new File(imageNew).renameTo(imageFile);
|
|
|
LOGGER.info("生成裁切图:原文件名{},目标文件丢失,还原图片结束", fileName);
|
|
|
} else {
|