javaWeb之文件下载

//本次的文件下载是接着上次文件上传的

//为方便实现文件下载,可借助第三方开源jar包:commons.io;

//因为下载时候与浏览器类型有一定关系,可能会出现一些小偏差

//客户端代码:<a href="<c:url value=‘/DownloadServlet‘/>">点击下载</a>

//以下为服务端代码:

package cn.hl.download;

import java.io.FileInputStream;
import java.io.IOException;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;

public class DownloadServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
/*
* 请求头设置与下载流
* 1. Content-Type
* 2. Content-Disposition
* 3. 下载流:下载文件
*/
String filename="D:/Finally Found Ya.mp3";//楼主的例子为D盘下的一首mp3(要下载的内容)

String framename = new String("Finally Found Ya.mp3".getBytes("GBK"), "utf-8");//设置编码格式

String contentType=this.getServletContext().getMimeType(filename);//通过文件名称获取MIME类型
String contentDisposition ="attachment;filename="+framename;//激活文件下载框
FileInputStream in=new FileInputStream(filename);

response.setHeader("Content-Type", contentType);
response.setHeader("Content-Disposition", contentDisposition);

ServletOutputStream out=response.getOutputStream();
IOUtils.copy(in, out);
in.close();
}

时间: 2024-10-24 11:47:19

javaWeb之文件下载的相关文章

JavaWeb实现文件下载

1. 编写文件上传Servlet 1 public class FileUpload1 extends HttpServlet { 2 @Override 3 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 4 5 InputStream in = null; 6 OutputStream out = null

javaweb 的文件下载

前台代码 1 //模板下载 2 templatesDownload : function(){ 3 var form = $("<form>"); //定义一个form表单 4 form.attr('style', 'display:none'); //在form表单中添加查询参数 5 form.attr('target', ''); 6 form.attr('method', 'post'); 7 form.attr('action', getPath() + '/Exp

javaweb文件下载 部署到服务器文件下载有问题

最近做了一个网站,有关检索的一个系统,里边涉及到了文件的下载和查看(pdf文件),遇到了一些问题,现在和大家分享一下我解决的办法: 文件下载总的来说有两种方式(我认为的啊,别当真), 一种是通过超链接的方式:<a href="<%=basePath%>/download/文件名称">下载</a>   这种方式就可以下载根路径下的download下的文件了, 但是这种下载只能下载 .rar文件,当下载pdf或者图片的时候,他就不打开那个文件,所以这种方

JavaWeb项目实现文件下载

File file = new File(path);// path是根据日志路径和文件名拼接出来的 String filename = file.getName();// 获取日志文件名称 InputStream fis = new BufferedInputStream(new FileInputStream(path)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); response.r

JavaWeb学习总结(五十)——文件上传和下载

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,stru

深入分析JavaWeb Item40 -- 文件上传和下载

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,stru

Javaweb学习笔记10—文件上传与下载

 今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载 另外:如果图看不清的话请右击---在新窗口中打开会清楚很多 一*, 文件的上传:      1 *分析实现步骤: 1.1* 客户端浏览器通过文件域选择本地要上传的文件. * 点击"上传"按钮

javaweb笔记全套

Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Project) 3) 建包 建类 2. 快捷键 alt + / : 代码自动补齐,需要配置的 打开preferences(首选项), 搜keys,打开快捷键配置面板 搜 alt+/ ,取消绑定 搜 content assist ,取消原先的绑定,配置成alt+/ ctrl+1: 错误自动修复, 注意,

【JavaWeb】参考大神重新写的上传下载

自学java,选择从简单的javaweb入手了. 读了网上某位大神的细致文章,了解后自己写了这篇上传下载的,加上了自己一部分的理解注释. 算是入门篇吧.大致完成了任务,比较粗糙. fileHanderServlet.java (文件上传处理) 1 package up.file.Servletfile; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 i