如何实现本地下载
    String src=new String(inf1.getFilesrc().getBytes("iso-8859-1"),"gb2312");
  System.out.println(src);//  F:\工作项目\404.jpg
response.sendRedirect(fan(src));//这里要进行正斜杠转成反斜杠的处理
结果是http://location/F:/sdd/404.jpg
到底要怎么样才能下载呀

解决方案 »

  1.   

    // 下载本地文件
         String fileName = "Operator.doc".toString();  //文件的默认保存名
      //读到流中
      InputStream inStream=new FileInputStream("c:/Operator.doc");//文件的存放路径
      //设置输出的格式
      response.reset();
      response.setContentType("bin");
      response.addHeader("Content-Disposition","attachment; filename="" + fileName + """);
      //循环取出流中的数据
      byte[] b = new byte[100];
      int len;
      while((len=inStream.read(b)) >0)
      response.getOutputStream().write(b,0,len); 
      inStream.close();
      

  2.   

     response.addHeader("Content-Disposition","attachment; filename="" + fileName + """);这句话是关键。
      

  3.   

    out.clearBuffer(); // 如果使用JSP,需要加上这一句
    OutputStream os = response.getOutputStream(); // 页面输出流,jsp/servlet都可以
    String filename="d:/temp/123456.gif";
    response.addHeader("Content-Disposition", new String(("attachment; filename=" + filename).getBytes("GBK"),
                  "ISO-8859-1")); // 针对中文文件名
    File f = new File(filename); // 你的文件
    InputStream is = new FileInputStream(f); // 文件输入流
    byte[] bs = new byte[1024];  // 读取缓冲区
    int len;
    while((len=is.read(bs))!=-1){ // 循环读取
      os.write(bs,0,len); // 写入到输出流
    }
    is.close();  // 关闭
    os.close(); // 关闭
      

  4.   

    out.clearBuffer(); // 如果使用JSP,需要加上这一句
    OutputStream os = response.getOutputStream(); // 页面输出流,jsp/servlet都可以
    String filename="d:/temp/123456.gif";
    response.addHeader("Content-Disposition", new String(("attachment; filename=" + filename).getBytes("GBK"),
                  "ISO-8859-1")); // 针对中文文件名
    File f = new File(filename); // 你的文件
    InputStream is = new FileInputStream(f); // 文件输入流
    byte[] bs = new byte[1024];  // 读取缓冲区
    int len;
    while((len=is.read(bs))!=-1){ // 循环读取
      os.write(bs,0,len); // 写入到输出流
    }
    is.close();  // 关闭
    os.close(); // 关闭