Skip to content
Snippets Groups Projects
Commit 9d0b4bfb authored by srosse's avatar srosse
Browse files

Merge OpenOLAT 9.3 to OpenOLAT default branch with ec745625582cc59b9a380eb9b4960a2e71e60681

parents e97aaae2 9652297d
No related branches found
No related tags found
No related merge requests found
......@@ -377,29 +377,32 @@ public class ImageHelperImpl implements ImageHelperSPI {
ImageReadParam param = reader.getDefaultReadParam();
Iterator<ImageTypeSpecifier> imageTypes = reader.getImageTypes(0);
while (imageTypes.hasNext()) {
ImageTypeSpecifier imageTypeSpecifier = imageTypes.next();
int bufferedImageType = imageTypeSpecifier.getBufferedImageType();
if (bufferedImageType == BufferedImage.TYPE_BYTE_GRAY) {
param.setDestinationType(imageTypeSpecifier);
break;
}
}
double memoryKB = (width * height * 4) / 1024d;
if (memoryKB > 2000) {// check limit at 20MB
double free = Runtime.getRuntime().freeMemory() / 1024d;
if (free > memoryKB) {
all.setImage(reader.read(readerMinIndex, param));
} else {
// make sub sampling to save memory
int ratio = (int) Math.round(Math.sqrt(memoryKB / free));
param.setSourceSubsampling(ratio, ratio, 0, 0);
all.setImage(reader.read(readerMinIndex, param));
try {
ImageTypeSpecifier imageTypeSpecifier = imageTypes.next();
int bufferedImageType = imageTypeSpecifier.getBufferedImageType();
if (bufferedImageType == BufferedImage.TYPE_BYTE_GRAY) {
param.setDestinationType(imageTypeSpecifier);
}
double memoryKB = (width * height * 4) / 1024d;
if (memoryKB > 2000) {// check limit at 20MB
double free = Runtime.getRuntime().freeMemory() / 1024d;
if (free > memoryKB) {
all.setImage(reader.read(readerMinIndex, param));
} else {
// make sub sampling to save memory
int ratio = (int) Math.round(Math.sqrt(memoryKB / free));
param.setSourceSubsampling(ratio, ratio, 0, 0);
all.setImage(reader.read(readerMinIndex, param));
}
} else {
all.setImage(reader.read(readerMinIndex, param));
}
return all;
} catch (IllegalArgumentException e) {
log.warn(e.getMessage(), e);
}
} else {
all.setImage(reader.read(readerMinIndex, param));
}
return all;
}
} catch (IOException e) {
log.error(e.getMessage(), e);
} finally {
......
......@@ -324,7 +324,8 @@ public class RepositoryEditDescriptionController extends FormBasicController {
} else if (source == fileUpload) {
if (fileUpload.isUploadSuccess()) {
File uploadedFile = fileUpload.getUploadFile();
imageEl.setMediaResource(new NamedFileMediaResource(uploadedFile, fileUpload.getName(), "", false));
String filename = fileUpload.getUploadFileName();
imageEl.setMediaResource(new NamedFileMediaResource(uploadedFile, filename, "", false));
imageEl.setMaxWithAndHeightToFitWithin(400, 200);
imageEl.setVisible(true);
imageEl.getComponent().setDirty(true);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment