我对Java中的WebdavServlet实现中的doPut方法有疑问。
如果你不熟悉它,我认为你不需要。
doPut接受2个参数,HttpServletRequest req和HttpServletResponse resp。
基本上,doPut会将文件放入您的servlet。
我有一些关于它如何指定WHICH FILE和放置WHERE的问题。
所以我认为它的放置来自getRelativePath(req)。
但我不知道文件部分。
答案 0 :(得分:3)
文件的内容在HttpServletRequest#getInputStream()
的请求正文中可用。只需按照OutputStream
的方式将其写入任何usual Java IO即可。 FileOutputStream
将其写入本地文件。
但是,您需要事先知道内容编码如何解码请求正文。通常使用multipart/form-data
编码。要解析它,Apache Commons FileUpload是事实上的标准。单击该链接并浏览用户指南和常见问题以了解如何使用它。
您不应该对文件在客户端的位置感兴趣,因为您无论如何都无法访问它。当服务器和客户端在物理上在同一台机器上运行时(因此在相同的磁盘文件系统中),您将只能访问它,但这通常不会在现实世界中发生。