我有一个带有输入标记的jsp,其name属性为“file”,我通过它将照片上传到数据库。在更新信息时,有时我不想上传新照片。在那种情况下,我必须在我的servlet中检查null。我试过这个
[...]
if(request.getParameter("file")!=null)
String imagePath=request.getParameter("file");
[...]
但这不起作用。有人可以提出解决方案吗?
答案 0 :(得分:2)
只有在根本没有提交字段时,null
检查才有效。但是,提交空字段与不提交字段不同。未填写但已提交的字段最终为空字符串。因此,如果值不仅仅是一个空字符串,您还需要执行额外的检查。
换句话说:
String fieldname = request.getParameter("fieldname");
if (fieldname != null && !fieldname.isEmpty()) {
// It's submitted *and* filled out.
}
无关,这种抓取上传文件的方法存在严重问题。只有当Web服务器和Web浏览器碰巧在物理上运行相同的计算机时,此方法才有效。花时间仔细浏览两个链接:
当以正确的方式抓取上传的文件时,它不会以String
的方式到达,因此不需要进行空字符串检查。