java struts 文件上传到Controller时怎么获取上传文件的原始名?

java struts 文件上传到Controller时怎么获取上传文件的原始名?

在Controller内用file.getName()得到的是诸如 upload_7265c2e5_dca5_4179_8897_6d7805614037_00000000.tmp 或 upload_7265c2e5_dca5_4179_8897_6d7805614037_00000001.tmp 的文件名, 我想获取用户上传时文件的原名, 该怎么弄才好, 谢谢.

Struts 2.x 需要自己定义一个参数接收

类似如下的属性 uploadFileName

public class UploadAction {
 
    private File upload;//定义一个File ,变量名要与jsp中的input标签的name一致
    private String uploadContentType;//上传文件的mimeType类型
    private String uploadFileName;//上传文件的名称
 
    public File getUpload() {
        return upload;
    }
    public void setUpload(File upload) {
        this.upload = upload;
    }
    public String getUploadContentType() {
        return uploadContentType;
    }
    public void setUploadContentType(String uploadContentType) {
        this.uploadContentType = uploadContentType;
    }
    public String getUploadFileName() {
        return uploadFileName;
    }
    public void setUploadFileName(String uploadFileName) {
        this.uploadFileName = uploadFileName;
    }
 
    public void uploadFile(){
        try {
            //在WebContent下新建一个upload的文件夹,获取其在服务器的绝对磁盘路径
            String path = ServletActionContext.getServletContext().getRealPath("/upload");
 
            //创建一个服务器端的文件
            File dest = new File(path,uploadFileName);
 
            //完成文件上传的操作
            FileUtils.copyFile(upload, dest);
 
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


```

file.getoriginalfilename