文件下载

来源:互联网 发布:伤感歌曲网络歌曲大全 编辑:程序博客网 时间:2024/06/05 04:08

文件的下载有2种方式:

a)通过超链接直接下载

<ahref="./uploadFiles/today.txt">today</a>

<a href="./uploadFiles/today.rar">today</a>

这种方式十分方便,但是如果浏览器可以识别该文件,例如txt,png,jpg等则会直接打开;若浏览器不识别文件格式,例如压缩包等,则会下载。

但是,这种方式会将服务器目录直接暴露给最终用户,给网站带来一些不安全因素。

地址中中文乱码问题需要解决???

b)通过servlet程序下载

前端代码通过超链接访问servlet:

<a href="./downloadTest/myDownload?filename=today.txt">

today.txt</a>

servlet代码:

//获得请求文件名          String filename = request.getParameter("filename");          System.out.println(filename);          //设置文件MIME类型        response.setContentType(getServletContext().getMimeType(filename));          //设置Content-Disposition          response.setHeader("Content-Disposition", "attachment;filename="+filename);          //读取目标文件,通过response将目标文件写到客户端          //获取目标文件的绝对路径          String fullFileName = getServletContext().getRealPath("/uploadfiles/" + filename);          //读取文件          InputStream in = new FileInputStream(fullFileName);          OutputStream out = response.getOutputStream();          //写文件          int b;          while((b=in.read())!= -1)          {              out.write(b);          }          in.close();  out.close();


原创粉丝点击