我想将网络服务器之外的文件像驱动器一样上传到servlet中,但是我无法上传它们。
要在Tomcat 6.0中启用此功能,我需要做什么?
答案 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 IO和User Guide。