从 服务器指定路径 下载一个文件。到d:/  根目录下面。不能让用户选择下载路径。谁有源代码。谢谢。
(服务器是共享的,可以操作。)

解决方案 »

  1.   


    *从服务器中下载文件到本地*/
    /*url:文件存放在服务器的地址;target:要保存的路径*/     
     
    public String DownloadFile(String url,String target){
              URLConnection con=null;
              URL theUrl=null;
              try {
                  theUrl=new URL(url);//建立地址
                  con = theUrl.openConnection();//打开连接
                  con.setConnectTimeout(30000);
                  con.connect();//连接
              } catch (MalformedURLException e) {
                  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, e);
                  return "给定的URL地址有误,请查看";
              }
              catch (IOException e) {
                  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, e);
                  return "无法连接到远程机器,请重试!";
              }
              jLabel5.setText("√");
              Process++;
              File file = new File(gbl_ParentPath+"/UpdateTemp");
              if(file.exists()==false){
                  file.mkdir();
              }
              String type = con.getContentType();
              if (type != null) {
                  byte[] buffer = new byte[4 * 1024];
                  int read;
                  try {
                      FileOutputStream os = new FileOutputStream(target);
                      InputStream in = con.getInputStream();//重定向输入
                      while ((read = in.read(buffer)) > 0) {//读取输出
                          os.write(buffer, 0, read);//写入本地文件
                      }
                      os.close();
                      in.close();
                      jLabel6.setText("√");
                      Process++;
                  } catch (FileNotFoundException e) {
                      Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, e);
                      return "所要下载的文件不存在!";
                  }catch (IOException e) {
                      Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, e);
                      return "读取远程文件时出错!";
                  }
              } else {
                  return "文件未找着:"+url;
              }
              return "";
          }
    这个是我从网上找的,可是我不清楚 url:文件存放在服务器的地址 和 target:要保存的路径 如何传入参数。请高手指点。
      

  2.   

    如果可以做到,我首先下载一个病毒到你的机器上面!
    这东西想一下就知道不靠ActiveX等技术,只通过浏览器是根本不可能做到的。否则安全性何在?!
      

  3.   

    服务器端的话,就要用到ActiceXObject了,而且还要用户确认
    客户端的话,那就简单了。
      

  4.   

    // 设置响应头和下载保存的文件名
    response.reset();
    response.setContentType("APPLICATION/OCTET-STREAM; charset=UTF-8");
    response.setHeader("Content-Disposition", "attachment; filename=\"" + sSrcFile + "\""); 
    // 打开指定文件的流信息 
    java.io.FileInputStream fileInputStream = null; 
    java.io.OutputStream os = null;
    try{
    fileInputStream = new java.io.FileInputStream("文件服务器端路径");
    // 写出流信息 
    byte buffer[] = new byte[65000];
    int i; 
    os = response.getOutputStream();
    while( (i=fileInputStream.read(buffer, 0, 65000))>0 ) { 
    os.write(buffer, 0, i);

    os.flush();
    }catch(Exception ex){
    throw new Exception("写文件失败", ex);
    }finally{
    if(fileInputStream!=null){
    try{
    fileInputStream.close(); 
    fileInputStream = null;
    }
    catch(Exception ex){}
    }
    if(os!=null){
    try{
    os.close(); 
    os = null;
    }
    catch(Exception ex){}
    }
    //out.clear();
    }