问题是这样的
struts2上传文件,到action,配置了相应的属性,filePath
new File(path).getName() 只能得到临时目录里的文件,而不是被上传文件的原始路径
请问,我如何才能得到原始路径呢?
1、ServletActionContext.getServletContext().getRealPath("XXX")或者
2、form表单提交
前台jsp代码
[code="jsp"][/code]
form标单加入enctype="multipart/form-data"
后台获取
[code="java"][/code]MultipartHttpServletRequest msdsRequest = (MultipartHttpServletRequest) request;
MultipartFile msdsFile = msdsRequest.getFile("msdsPdf");
form表单提交
前台jsp代码
[code="jsp"][/code]
form标单加入enctype="multipart/form-data"
[code="jsp"]
不知道你的原始路径说的是服务器上保存文件的物理路径还是web虚拟路径
原始路径是你自己决定文件存在哪的吧,是自己指定的,在保存文件之前就已经写好了,只有写好了保存在哪才能存文件了,我用S2是这么做的
String savePath = ServletActionContext.getServletContext().getRealPath("/") + Config.Picture_Dir.replace('/', '\');
//Config.Picture_Dir是存放文件的目录,比如images/,因为要存在物理路径,所以把/替换成\
然后再uploading.renameTo(new File(savePath + uploadingFileName));
// uploading File类型 也就是页面表单域的name
// uploadingFileName 是S2拦截器获取到的文件名,表单域的name+FileName的形式
// renameTo是实现保存文件的方法 jdk中的