mirror of https://github.com/halo-dev/halo
Close file input stream after reading image file (#527)
parent
d47f0f29e6
commit
6b0804a7b8
|
@ -19,6 +19,7 @@ import run.halo.app.utils.ImageUtils;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
@ -142,14 +143,14 @@ public class LocalFileHandler implements FileHandler {
|
||||||
// Check file type
|
// Check file type
|
||||||
if (FileHandler.isImageType(uploadResult.getMediaType()) && !isSvg) {
|
if (FileHandler.isImageType(uploadResult.getMediaType()) && !isSvg) {
|
||||||
lock.lock();
|
lock.lock();
|
||||||
try {
|
try (InputStream uploadFileInputStream = new FileInputStream(uploadPath.toFile())) {
|
||||||
// Upload a thumbnail
|
// Upload a thumbnail
|
||||||
String thumbnailBasename = basename + THUMBNAIL_SUFFIX;
|
String thumbnailBasename = basename + THUMBNAIL_SUFFIX;
|
||||||
String thumbnailSubFilePath = subDir + thumbnailBasename + '.' + extension;
|
String thumbnailSubFilePath = subDir + thumbnailBasename + '.' + extension;
|
||||||
Path thumbnailPath = Paths.get(workDir + thumbnailSubFilePath);
|
Path thumbnailPath = Paths.get(workDir + thumbnailSubFilePath);
|
||||||
|
|
||||||
// Read as image
|
// Read as image
|
||||||
BufferedImage originalImage = ImageUtils.getImageFromFile(new FileInputStream(uploadPath.toFile()), extension);
|
BufferedImage originalImage = ImageUtils.getImageFromFile(uploadFileInputStream, extension);
|
||||||
// Set width and height
|
// Set width and height
|
||||||
uploadResult.setWidth(originalImage.getWidth());
|
uploadResult.setWidth(originalImage.getWidth());
|
||||||
uploadResult.setHeight(originalImage.getHeight());
|
uploadResult.setHeight(originalImage.getHeight());
|
||||||
|
@ -232,7 +233,7 @@ public class LocalFileHandler implements FileHandler {
|
||||||
log.debug("Generated thumbnail image, and wrote the thumbnail to [{}]", thumbPath.toString());
|
log.debug("Generated thumbnail image, and wrote the thumbnail to [{}]", thumbPath.toString());
|
||||||
result = true;
|
result = true;
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
log.warn("Failed to generate thumbnail: [{}]", thumbPath);
|
log.warn("Failed to generate thumbnail: " + thumbPath, t);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue