0

可能重复:
如何使用 JSP/Servlet 将文件上传到服务器?

我有一个带有输入标签的jsp,其名称属性为“文件”,通过它我将照片上传到数据库。在更新信息时,有时我不想上传新照片。在那种情况下,我必须在我的 servlet 中检查 null。我试过这个

 [...]

小服务程序:

if(request.getParameter("file")!=null)

   String imagePath=request.getParameter("file");

[...]

但这不起作用。有人可以提出解决方案吗?

4

1 回答 1

2

null仅当根本未提交字段时,检查才有效。但是,提交空字段与不提交字段不同。未填写但已提交的字段以空字符串结尾。因此,如果该值不只是一个空字符串,您需要执行额外的检查。

换句话说:

String fieldname = request.getParameter("fieldname");

if (fieldname != null && !fieldname.isEmpty()) {
    // It's submitted *and* filled out.
}

与具体问题无关,这种抓取上传文件的方法存在严重问题。这种方法只有在网络服务器和网络浏览器碰巧在同一台机器上运行时才有效。花时间仔细浏览这两个链接:

当以正确的方式抓取上传的文件时,它不会以 a 的形式出现String,因此不需要进行空字符串检查。

于 2012-09-29T03:27:08.973 回答