ServletActionContext.getServletContext().getRealPath 绝对路径有问题吗?
publicInputStreamgetInputStream(){//1.根据提取码获取文件信息Fileinfofileinfo=fileinfoService.get...
public InputStream getInputStream(){
//1.根据提取码获取文件信息
Fileinfo fileinfo = fileinfoService.getFileByFileCode(fileCode);
fileName = fileinfo.getFileName();//获取文件名称
System.out.println(fileName+"...........");
Userinfo userinfo = (Userinfo)session.get("loginUser");
String userPath = ServletActionContext.getServletContext().getRealPath("/upload/"+userinfo.getUserName());//根目录下的upload目录
System.out.println(userPath+"............");
InputStream ips=null;
try {
ips = new FileInputStream(new File(userPath,fileName));
fileName = new String(fileName.getBytes(),"iso-8859-1");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return ips;
}
做的一个 文件下载 结果 总是提示
Can not find a java.io.InputStream with the name [inputStream] in the invocation stack. Check the tag specified for this action.
绝对路劲有问题吗 ? 展开
//1.根据提取码获取文件信息
Fileinfo fileinfo = fileinfoService.getFileByFileCode(fileCode);
fileName = fileinfo.getFileName();//获取文件名称
System.out.println(fileName+"...........");
Userinfo userinfo = (Userinfo)session.get("loginUser");
String userPath = ServletActionContext.getServletContext().getRealPath("/upload/"+userinfo.getUserName());//根目录下的upload目录
System.out.println(userPath+"............");
InputStream ips=null;
try {
ips = new FileInputStream(new File(userPath,fileName));
fileName = new String(fileName.getBytes(),"iso-8859-1");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return ips;
}
做的一个 文件下载 结果 总是提示
Can not find a java.io.InputStream with the name [inputStream] in the invocation stack. Check the tag specified for this action.
绝对路劲有问题吗 ? 展开
2个回答
展开全部
不晓得你是在什么平台下运行的这个程序。如果是Linux,估计会出问题;如果是Windows,应该就不会报错。
把ServletActionContext.getServletContext().getRealPath("/upload/"+userinfo.getUserName());
改成ServletActionContext.getServletContext().getRealPath("upload/"+userinfo.getUserName());试试。这样应该就可以了。
把ServletActionContext.getServletContext().getRealPath("/upload/"+userinfo.getUserName());
改成ServletActionContext.getServletContext().getRealPath("upload/"+userinfo.getUserName());试试。这样应该就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询