日期:2014-05-17  浏览次数:20726 次

无法获取文件名怎么办。
while(iter.hasNext()){
formitem=(FileItem)iter.next();//获取FileItem对象
if(!formitem.isFormField()){ //判断是否为文件域
if(formitem.getName()!=null && !formitem.getName().equals("")){
long upFileSize=formitem.getSize();//得到文件大小
if(upFileSize>lFileMaxSize){
out.println("<script>alert('文件大于了10M')</script>");
return;
}
localFileName=formitem.getName();//获取文件名,这里出错了。
formitem.write(new File(fileDir+"\\"+"ProcurementData"+d));

文件名没有获取获取的是如:C:\Documents and Settings\Administrator\桌面\你好.xls
导致我保存在服务器的时候变成:d:\backup\C:\Documents and Settings\Administrator\桌面\你好.xls
其实原来代码正常,换了个系统后就变成这样了。

------解决方案--------------------
formitem有类似getFileName()的方法么,
实在不行,把得到的绝对路径名substring成 你好.xls 就可以了吧。