Здесь есть одно серьезное заблуждение. Размещенный вами код будет работать, только если сервер и клиент работают на физически на одной и той же машине (чего не будет в реальном мире) и , если вы используете Браузер MSIE с неправильным поведением для отправки полного пути по имени файла.
Фактически вы должны получить содержимое загруженного файла как InputStream
и записать его в любой OutputStream
обычным способом ввода-вывода Java. Имя файла можно использовать для создания файла с тем же именем на стороне сервера, но вы убедитесь, что вы удаляете неверный путь, отправленный MSIE, из имени файла.
Что касается вашего фактического функционального требования, HTML не предоставляет средств для загрузки полных каталогов или нескольких файлов одним элементом <input type="file">
. Вам нужно будет создать клиентское приложение, способное на это, и обслуживать его с вашей веб-страницы, например, Java-апплет с использованием Swing JFileChooser. Для этого существуют сторонние решения, такие как JumpLoader .