如何在Web服务器外上传文件?

时间:2010-04-07 08:04:16

标签: java tomcat servlets upload

我想将网络服务器之外的文件像驱动器一样上传到servlet中,但是我无法上传它们。

要在Tomcat 6.0中启用此功能,我需要做什么?

1 个答案:

答案 0 :(得分:2)

这应该是有用的。您基本上需要做的就是从请求正文中获取InputStream风格的上传文件。您通常会使用Apache Commons FileUpload。然后,您可以将其写入您喜欢的OutputStream通常的FileOutputStream方式,例如String filename = FilenameUtils.getName(fileItem.getName()); // Important! File destination = new File("D:/path/to/files", filename); InputStream input = null; OutputStream output = null; try { input = fileItem.getInputStream(); output = new FileOutputStream(destination); IOUtils.copy(input, output); } finally { IOUtils.closeQuietly(output); IOUtils.closeQuietly(input); }

假设您实际上使用的是需要Java IO作为依赖关系的Apache Commons FileUpload,这是一个基本示例:

FileItem#write()

或者您也可以使用Fileupload的方便String filename = FilenameUtils.getName(fileItem.getName()); // Important! File destination = new File("D:/path/to/files", filename); fileItem.write(destination); 方法:

{{1}}

有关更多示例,提示和技巧,请查看FileUpload Apache Commons IOUser Guide