Skip to content
Snippets Groups Projects
Commit 2f5b78f4 authored by srosse's avatar srosse
Browse files

OO-1807: normalize invalid filename

parent ded77252
No related branches found
No related tags found
No related merge requests found
...@@ -302,6 +302,14 @@ public class FileUploadController extends FormBasicController { ...@@ -302,6 +302,14 @@ public class FileUploadController extends FormBasicController {
if(fileEl == source) { if(fileEl == source) {
if(metaDataCtr != null) { if(metaDataCtr != null) {
String filename = fileEl.getUploadFileName(); String filename = fileEl.getUploadFileName();
if(!FileUtils.validateFilename(filename)) {
String suffix = FileUtils.getFileSuffix(filename);
if(suffix != null && suffix.length() > 0) {
filename = filename.substring(0, filename.length() - suffix.length() - 1);
}
filename = FileUtils.normalizeFilename(filename) + "." + suffix;
metaDataCtr.getFilenameEl().setExampleKey("mf.filename.warning", null);
}
metaDataCtr.setFilename(filename); metaDataCtr.setFilename(filename);
} }
} }
......
...@@ -14,6 +14,7 @@ mf.error.filename.exists=Ein Objekt mit gleichem Namen existiert bereits. ...@@ -14,6 +14,7 @@ mf.error.filename.exists=Ein Objekt mit gleichem Namen existiert bereits.
mf.error.filename.invalidchars=Der Name des Objektes enth\u00E4lt ung\u00FCltige Zeichen. mf.error.filename.invalidchars=Der Name des Objektes enth\u00E4lt ung\u00FCltige Zeichen.
mf.file=Datei mf.file=Datei
mf.filename=Dateiname mf.filename=Dateiname
mf.filename.warning=<i class="o_icon o_icon_warn"> </i> Dieser Dateiname enth\u00E4lt unzul\u00E4ssige Zeichen und die wurden entfernt.
mf.header=Metadaten Datei/Ordner mf.header=Metadaten Datei/Ordner
mf.language=Sprache mf.language=Sprache
mf.lastModified=Datum letzte \u00C4nderung mf.lastModified=Datum letzte \u00C4nderung
......
...@@ -14,6 +14,7 @@ mf.error.filename.exists=An object with that name already exists. ...@@ -14,6 +14,7 @@ mf.error.filename.exists=An object with that name already exists.
mf.error.filename.invalidchars=The object's name contains invalid characters. mf.error.filename.invalidchars=The object's name contains invalid characters.
mf.file=File mf.file=File
mf.filename=File name mf.filename=File name
mf.filename.warning=<i class="o_icon o_icon_warn"> </i> This file name contains invalid characters and they were removed.
mf.header=Metadata file/folder mf.header=Metadata file/folder
mf.language=Language mf.language=Language
mf.lastModified=Last modified\: mf.lastModified=Last modified\:
......
...@@ -852,6 +852,8 @@ public class FileUtils { ...@@ -852,6 +852,8 @@ public class FileUtils {
return nameSanitized; return nameSanitized;
} }
/** /**
* Creates a new directory in the specified directory, using the given prefix and suffix strings to generate its name. * Creates a new directory in the specified directory, using the given prefix and suffix strings to generate its name.
* It uses File.createTempFile() and should provide a unique name. * It uses File.createTempFile() and should provide a unique name.
......
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