在使用common-fileupload的FileItemStream.getName()方法时,在不同的机器上返回的结果是不同的。很是奇怪,于是上网查看资料,才发现getName()方法时根据客户端的浏览器来取得文件名的,比如在IE下getName()返回的是绝对路径:C:\directory\filename。而在FF下则返回的是filename,从而导致有不同的结果,严重的可能导致程序异常。
其官方文档也说明了这个方法的返回值依赖于具体的浏览器或客户端软件。
java.lang.String getName() Returns the original filename in the client's filesystem, as provided by the browser (or other client software).