我实现下载功能的时候;例如路径是http://www.baidu.com/img/baidu_sylogo1.gif
 形式的;不是从当前工程中那东西;从别的服务器拿;读取文件路径会出现(文件名、目录名或卷标语法不正确。)
下面是我的代码:String downFilename="http://www.baidu.com/img/baidu_sylogo1.gif";//要下载的文件名称
        String filepath="F:\\commons-httpclient-3.1.jar";//要下载的文件完整路径
        response.setContentType("text/plain");
        response.setHeader("Location",downFilename);
        response.setHeader("Content-Disposition", "attachment; filename=" + downFilename); 
        OutputStream outputStream = response.getOutputStream();
        InputStream inputStream = new FileInputStream(filepath);
        byte[] buffer = new byte[1024];
        int i = -1;
        while ((i = inputStream.read(buffer)) != -1) {
         outputStream.write(buffer, 0, i);
        }
        outputStream.flush();
        outputStream.close();
        inputStream.close();InputStream inputStream = new FileInputStream(filepath);
在这一步会出现(文件名、目录名或卷标语法不正确。);
请问如何解决

解决方案 »

  1.   

    String downFilename="http://www.baidu.com/img/baidu_sylogo1.gif";//要下载的文件名称
            String filepath="F:\\commons-httpclient-3.1.jar";//要下载的文件完整路径
            response.setContentType("text/plain");
            response.setHeader("Location",downFilename);
            response.setHeader("Content-Disposition", "attachment; filename=" + downFilename); 
            InputStream inputStream = response.getInputStream();
            OutputStream outputStream  = new FileOutputStream(filepath);
            byte[] buffer = new byte[1024];
            int i = -1;
            while ((i = inputStream.read(buffer)) != -1) {
             outputStream.write(buffer, 0, i);
            }
            outputStream.flush();
            outputStream.close();
            inputStream.close();
      

  2.   

    不好意思;上面有个地方写错了;下载的地址是http://www.baidu.com/img/baidu_sylogo1.gif;本地下载是没有问题;需要通过网络地址去下载
      

  3.   

    LZ用apache的fileupload下载吧。
      

  4.   

    问题解决了;上面那种读流不能够读取http的;InputStream inputStream = new FileInputStream(filepath);
    ;换成 HttpClient的post去读取网络流然后再写出去就OK了;谢谢;我进行结贴
      

  5.   

    HttpClient能用的话,HttpURLConnection 应该也可以。参照。
    http://blog.csdn.net/psuaije/article/details/7192776