当前位置: 代码迷 >> Java Web开发 >> Web上传下载的一个有关问题
  详细解决方案

Web上传下载的一个有关问题

热度:4523   发布时间:2013-02-25 21:19:44.0
Web上传下载的一个问题
我做了一个上传下载的功能,但是下载的时候用迅雷可以下载,用IE就会报错
错误提示是无法找到Internet站点,请求的站点不可用或无法找到。哪位大虾知道该怎么解决这个问题吗?
小弟拜谢了!

------解决方案--------------------------------------------------------
Java code
//下载            String filePath = filedb.getFile_url();            String filetype = filePath.substring(filePath.lastIndexOf('.'));            String msg = "";            if(filePath != null && !"".equals(filePath))            {                String path = getServlet().getServletContext().getRealPath("")+filePath;//找到文件                response.addHeader("Content-Disposition", "attachment; filename="+new String((filename+filetype).getBytes("gb2312"), "ISO8859-1"));                response.setContentType("application/octet-stream");                                ServletOutputStream output = response.getOutputStream();                 InputStream fis = null;                 byte[] buffer = new byte[1204];                int byteRead;                 try                 {                     fis = new FileInputStream(path);                     while ((byteRead = fis.read(buffer)) != -1)                     {                         output.write(buffer, 0, byteRead);                     }                     output.flush();                 }                 catch (Exception e)                 {                    String simplename = e.getClass().getSimpleName();                    if(!"ClientAbortException".equals(simplename))  // 忽略用户点击下载取消按钮时的警告异常                    {                        response.setContentType("text/html; charset=utf-8");                         response.setHeader("Content-disposition", "inline");                         output.println(" <HTML> <BODY> <P>");                         output.println("文件下载发生错误!");                         output.println(" </P> </BODY> </HTML>");                         output.close();                    }                }                 finally                {                    if (fis != null)                     {                         fis.close();                     }                 }                            }            else            {                msg = "找不到文件,该资料可能未上传";            }            response.getWriter().write(msg);            response.getWriter().flush();            response.getWriter().close();            return null;
------解决方案--------------------------------------------------------
String path = getServlet().getServletContext().getRealPath("")+filePath;//找到文件
response.addHeader("Content-Disposition", "attachment; filename="+new String((filename+filetype).getBytes("gb2312"), "ISO8859-1"));
response.setContentType("application/octet-stream");
还有.close写到finally里面