Тебе это не нужно. Представь, что я - клиент, а ты - сервер. Я даю вам полный путь к файлу "C: / My Documents / passwords.txt", как вы, будучи сервером, можете программно получить доступ к содержимому файла? С new File("C:/My Documents/passwords.txt")
может быть? Нет, подумайте логически, это не сработает, поскольку мы оба работаем на физически разных машинах . Информация о полном пути бесполезна .
Загрузка файла HTML фактически отправляет содержимое файла с клиента на сервер, обычно вместе только с именем файла. Вам просто нужно получить содержимое как InputStream
на FileItem#getInputStream()
или просто записать его на диск напрямую с помощью FileItem#write()
. согласно FileUpload Руководство пользователя .
Вы можете получить единственное имя файла по FileItem#getName()
, но некоторые веб-браузеры отправляют полный путь к файловой системе на стороне клиента, например, Internet Explorer и Opera. Это неправильно . Вам нужно обрезать путь на FilenameUtils#getName()
согласно FileUpload FAQ .
(кстати, весь код синего цвета кликабелен и указывает на Javadocs, я настоятельно рекомендую вам также научиться его читать / интерпретировать, именно они предоставляют всю необходимую вам информацию).