|
一个能读取文件目录的jsp文件,代码如下。能读取服务器上的指定目录,但却不能打开文件。
如果在服务器上用localhost来访问则可以打文件链接和目录链接,但用内部ip来访问则无法打开文件的链接,不能右键另存为,而目录则可以
继续访问,请各位帮着看一下什么原因吧,谢谢了。
- <%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage="" pageEncoding="GBK"%>
- <%
- request.setCharacterEncoding("GBK");
- response.setCharacterEncoding("GBK");
- response.setContentType("text/html; charset=GBK");
- %>
- <%!
- public String getStrCn(String str)
- {
- try{
- String temp_p=str;
- byte[] temp_t=temp_p.getBytes("ISO-8859-1");
- String temp=new String(temp_t,"GBK");
- return temp;
- }catch(Exception e){ }
- return "null";
- }
- %>
- <%@page import="java.io.*"%>
- <%
- String path ="/";
- if(request.getParameter("path")!=null)
- {
- path = getStrCn(request.getParameter("path").trim());
- }
- File f = new File(path);
- if (!f.exists())
- {
- out.println(path+" not exists");
- return;
- }
- File fa[] = f.listFiles();
- for(int i=0;i<fa.length;i++)
- {
- File fs = fa[i];
- if (fs.isDirectory())
- {
- out.print("<font class="dir1">[目录]</font><a href="readfolderQA.jsp?path="+fs.getAbsolutePath()+""
- class="dirlink" title="最后修改时间:"+fs.lastModified()+" \r\n文件大小:"+fs.length()+" bytes"+"\r\n是否可写:"+fs.canWrite
- ()+"">");
- out.println(""+fs.getName()+"");
- out.print("</a><br>");
- }else{
- out.print("<font class="file1">[文件]</font><a href=""+fs.getAbsolutePath()+"" target="_blank" title="最
- 后修改时间:"+fs.lastModified()+" \r\n文件大小:"+fs.length()+"bytes\r\n是否可写:"+fs.canWrite()+"">");
- out.println(fs.getName());
- out.print("</a><br>");
- }
- }
- %>
复制代码 |
|