2010-06-28 3 views
0

У меня есть вопрос относительно метода doPut в реализации WebdavServlet в Java.doPut() Servlet

Если вы не знакомы с этим, я не думаю, что вам нужно быть.

doPut принимает в 2 параметра, HttpServletRequest req и HttpServletResponse соответственно.

В принципе, doPut помещает файл в ваш сервлет.

У меня есть некоторые вопросы о том, как это указать, какой ФАЙЛ поставить и ГДЕ он поставлен.

Так что я думаю, что ГДЕ он поставлен, получен из getRelativePath (req).

Но я не имею понятия о части файла.

+0

Какая реализация «WebdavServlet» это? – skaffman

ответ

3

Содержимое файла доступно в теле запроса HttpServletRequest#getInputStream(). Просто напишите его на любой номер OutputStream на свой вкус usual Java IO способом, например. FileOutputStream, чтобы записать его в локальный файл.

Вам, однако, необходимо заранее знать кодировку содержимого, как декодировать тело запроса. Часто используется кодировка multipart/form-data. Чтобы проанализировать это, Apache Commons FileUpload является стандартом дефакто. Нажмите ссылку и ознакомьтесь с руководством пользователя и . Часто задаваемые вопросы, чтобы узнать, как его использовать.

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

Смежные вопросы