Проверка правильности пути при загрузке файла с помощью commons-fileupload

Я работаю с кодом, который загружает изображение из формы и сохраняет его на нашем сервере. В Internet Explorer пользователь может ввести путь вручную, и мне интересно, как я могу проверить, существует ли файл, то есть, что пользователь ввел правильный путь.

Есть объект FileItem, который используется для проверки размера (например, fileItem.getSize()

if (fileItem.getSize() == 0) {
  // Somethings wrong -- invalid path.
} else {
  // File exists -- valid path.
}

Любые предложения приветствуются. Спасибо!

1 ответ

Решение

На клиенте вы не можете надежно прочитать текст элемента управления загрузкой файла с помощью скрипта. IE8 и Opera10, например, будут лгать вам и предоставлять общий путь, содержащий "C:\fakepath\". Это сделано из соображений конфиденциальности.

На сервере вы можете делать то же самое, что и вы, просто проверить, действительно ли вы получили файл при загрузке, и если да, то вы можете проверить файл, определить, соответствует ли он вашим критериям.

Другие вопросы по тегам