在Java Servlet中上传文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Java Servlet中上传文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1937字,纯文字阅读大概需要3分钟。
内容图文
![在Java Servlet中上传文件](/upload/InfoBanner/zyjiaocheng/695/da8a38f287844ae2a727d71c811c6143.jpg)
我有一个Java动态Web项目,正在使用TomCat v7.0.
我是Web项目的新手,但我不太了解如何在一个jsp页面中上传文件.由于我的项目只打算在本地进行,所以我认为我可以使用多部分形式,使人们可以选择文件(这一部分可以正常工作),然后从我的Servlet中检索文件路径.但是我无法完成这部分,它似乎只给我文件的名称,而不是整个路径.
谁能指出我正确的方向?我已经阅读了几篇有关Apache File Upload和从多部分表单获取信息的帖子,但似乎没有什么帮助我.
如何从表单获取文件路径,或者如何在Java类中获取上载的文件?
提前致谢.
.JSP:
<form method="post" action="upload" enctype="multipart/form-data">
<input type="file" name="filePath" accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"></input>
<input type="submit" value="Enviar"></input>
</form>
Java Servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
PrintWriter out = response.getWriter();
out.println("<html><body>");
try
{
List<FileItem> 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("<h1>"+fieldname+" / "+fieldvalue+"</h1>");
}
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("<h1>"+s+" / "+filename+"</h1>");
item.write(null);
}
}
}
catch (FileUploadException e)
{
throw new ServletException("Cannot parse multipart request.", e);
}
catch (Exception e)
{
e.printStackTrace();
}
out.println("</body></html>");
}
解决方法:
不提供文件路径是浏览器的安全功能.
您在代码中有可用的文件内容(InputStream filecontent),因此可以使用它或在FileItem上使用一种便捷方法,例如
item.write(new File("/path/to/myfile.txt"));
内容总结
以上是互联网集市为您收集整理的在Java Servlet中上传文件全部内容,希望文章能够帮你解决在Java Servlet中上传文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。