我有一个Java动态Web项目,正在使用TomCat v7.0。
我是Web项目的新手,但我不太了解如何在一个jsp页面中上传文件。由于我的项目只打算在本地进行,所以我认为我可以使用多部分形式,使人们可以选择文件(这一部分可以正常工作),然后从我的Servlet中检索文件路径。但是我无法完成这部分,它似乎只给我文件的名称,而不是整个路径。
谁能指出我正确的方向?我已经阅读了几篇有关Apache File Upload和从多部分表单获取信息的帖子,但似乎没有什么帮助我。
如何从表单获取文件路径,或者如何在Java类中获取上载的文件?
提前致谢。
.jsp:
Java Servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
PrintWriter out = response.getWriter();
out.println("
");try
{
List items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items)
{
if (item.isFormField())
{
// Process regular form field (input type="text|radio|checkbox|etc", select, etc).
String fieldname = item.getFieldName();
String fieldvalue = item.getString();
out.println("
"+fieldname+" / "+fieldvalue+"
");}
else
{
// Process form file field (input type="file").
String fieldname = item.getFieldName();
String filename = item.getName();
InputStream filecontent = item.getInputStream();
String s = filecontent.toString();
out.println("
"+s+" / "+filename+"
");item.write(null);
}
}
}
catch (FileUploadException e)
{
throw new ServletException("Cannot parse multipart request.", e);
}
catch (Exception e)
{
e.printStackTrace();
}
out.println("");
}