我导入了一个网络文件系统的项目,在对其执行下载操作时发现左下显示的地址为:file:///E:/apache-tomcat-6.0.13/webapps/PersonalPlatform/file/111111/1.txt。所以我的浏览器无法点开并下载相关文件,必须要去掉一个"/",以file://E:/apache-tomcat-6.0.13....   开头才能正常下载文件。请问大家这要怎么改才成?
PersonalPlatform 是项目名file是下载文件的文件夹111111是用户名的文件夹(user)1.txt是文件名(filename)其中主要相关代码如下:String dir = pageContext.getServletContext().getRealPath("/file");
.
.
.
tmp = dir+"/"+user+"/"+filename;
.
.
.
out.print("<td align=center class=normal_1Text><a href="+tmp+">下载</a></td>");//点击下载并下载文件

解决方案 »

  1.   

    你都把下载的文件放在web容器下,那还搞什么绝对路径嘛 相对路径简单明了。
    直接<c:url value="/file/111111/1.txt" />搞定
      

  2.   


    你说你从后台生成html是不是?
    如果是这样的话String dir = pageContext.getServletContext().getRealPath("/file");String separator = File.separator;
    static final String ATTACHMENT_ROOT_PATH = "file";
    String root = request.getContextPath();tmp = root + separator  + user + separator  + ATTACHMENT_ROOT_PATH + separator  + fileName;
    .
    .
    out.print("<td align=center class=normal_1Text><a href="+tmp+">下载</a></td>");//点击下载并下载文件