Java – программная проверка недопустимых символов в имени файлаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java – программная проверка недопустимых символов в имени файла

Сообщение Anonymous »

Недавно кто-то загрузил файл, имя которого содержало недопустимые символы (двойной дефис), что привело к невозможности повторной загрузки файла. В данном случае имя файла было

Some name -- some other information
Для загрузки имя файла устанавливается путем получения исходного имени файла, что является бизнес-правилом.

file.setFileName(file.getFile().getOriginalFilename());
Это привело к тому, что двойной дефис превратился в два перевернутых вопросительных знака, и по какой-либо причине невозможно было получить файл обратно с сервера.
Мне интересно, существует ли программное решение для проверки исходного имени файла в такой ситуации.
Для прозрачности, вот код для загрузки файла файл:
public void saveOpcertCeuFile(OpcertCeuFileUpload file) {
UmdContact user = secUtilService.getActiveUser();
String username = user.getEmail();
Date now = new Date();

file.setCreatedTs(now);
file.setLastUpdatedTs(now);
file.setCreatedBy(username);
file.setLastUpdatedBy(username);
file.setFileName(file.getFile().getOriginalFilename());
file.setIsApproved(Boolean.FALSE);
file.setIsDeleted(Boolean.FALSE);

try {
file.setByteContents(file.getFile().getBytes());
} catch (Exception ex) {
log.info(ex);
throw new RuntimeException(ex);
}
dao.insertOpcertCeuFileUpload(file);

Path path = this.getOptcertCeuFilePath(file);
String configF = envService.getServerUrl();
file.setFilePath(String.valueOf(path));
dao.updateOpcertCeuFilePath(file);

try {
File file1 = path.toFile();
file1.getParentFile().mkdirs();
Files.write(path, file.getByteContents(), StandardOpenOption.CREATE_NEW);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}


Подробнее здесь: https://stackoverflow.com/questions/649 ... -file-name
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»