文件下载小实例

简介:

一、目录结构:



二、servlet编写:Dowmn

package cn.xh.download.servlet;


import java.io.FileInputStream;
import java.io.IOException;
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;


/**
 * Servlet implementation class Download
 */
public class Download extends HttpServlet {
private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Download() {
        super();
        // TODO Auto-generated constructor stub
    }


/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


String fname="F:/音乐/2.mp3";
//设置文件类型
String contentType=this.getServletContext().getMimeType(fname);
//设置下载时显示的名字
String contentDisposition="attachment;filename=yuuy.mp3";

//**一个文件流
FileInputStream fin=new FileInputStream(fname);

//**两个文件头  Cotent大写C也可
response.setHeader("content-Type", contentType);
response.setHeader("content-Disposition", contentDisposition);


ServletOutputStream fout=response.getOutputStream();
IOUtils.copy(fin, fout);
fout.close();

}


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request, response);
}
}



注意导包:commons-io.jar;  spring中有

目录
相关文章
|
数据处理
重复值的判断标准是否可以根据具体业务需求进行调整?
重复值的判断标准需要紧密结合具体的业务需求进行灵活调整,这样才能确保数据处理的准确性和有效性,为业务决策提供可靠的数据支持。
316 58
|
7月前
|
人工智能 监控 安全
从 DeepSeek 敏感信息泄露谈可观测系统的数据安全预防
探讨了 SLS 中增强数据安全的几种方式:权限精细化管控有效减少了潜在安全风险;接入层脱敏技术阻止敏感数据落库,提升了隐私保护;StoreView 字段集控制通过限制查询数据范围,降低数据泄露损害。智能监控系统提供实时监测,快速识别并阻断异常拖库行为,为企业提供了迅速响应和抵御威胁的能力。
|
8月前
|
存储 数据采集 数据挖掘
《数据库数据冗余大揭秘:问题与解决方案全解析》
数据冗余是数据库管理中的常见问题,如同家中堆积的杂物,虽看似无害,却会占用存储空间、降低查询效率并增加维护难度。文章分析了数据冗余的成因,如设计不合理、业务需求变化及数据导入导出等,并提出了解决方案,包括数据库规范化设计、数据清洗整合、建立数据字典及优化业务流程。通过实际案例,展示了处理数据冗余对提升数据库性能和业务效率的重要性。重视数据冗余问题,能让数据库更高效地支持业务发展。
570 0
|
传感器 存储 物联网
新技术趋势与应用:区块链、物联网和虚拟现实的融合创新
在数字化浪潮中,区块链技术以其不可篡改的特性成为信任的基石;物联网技术通过智能设备的互联互通,将物理世界数字化;而虚拟现实技术则打造沉浸式体验,模糊现实与虚拟的边界。这三者的结合预示着一个高度互联、智能化且富有创造力的未来,其中区块链确保数据安全,物联网提供实时数据,虚拟现实则为用户带来前所未有的交互体验。本文将探讨这些技术的发展趋势和潜在应用场景,并展示它们如何共同塑造未来社会的面貌。
249 5
|
机器学习/深度学习 人工智能 供应链
AI技术在医疗领域的应用与未来展望###
本文深入探讨了人工智能(AI)技术在医疗领域的多种应用及其带来的革命性变化,从疾病诊断、治疗方案优化到患者管理等方面进行了详细阐述。通过具体案例和数据分析,展示了AI如何提高医疗服务效率、降低成本并改善患者体验。同时,文章也讨论了AI技术在医疗领域面临的挑战和未来发展趋势,为行业从业者和研究人员提供参考。 ###
|
数据挖掘 BI 数据处理
FineBI在线学习资源-数据处理
FineBI在线学习资源-数据处理
243 1
|
SQL 关系型数据库 Linux
在CentOS 6上安装和使用PostgreSQL的方法
在CentOS 6上安装和使用PostgreSQL的方法
277 2
|
开发者 Java UED
大文件传输不再头疼:揭秘Struts 2如何轻松应对文件上传与下载难题!
【8月更文挑战第31天】在Web应用开发中,文件上传与下载至关重要。Struts 2作为主流Java EE框架,凭借Commons FileUpload及文件上传拦截器简化了相关操作。本文探讨Struts 2在文件传输上的优势,通过具体配置与代码示例,展示如何设置最大文件大小、使用`fileUpload`拦截器以及实现文件上传与下载功能。对于大文件传输,Struts 2不仅能够轻松应对,还支持上传进度显示,有效提升了用户体验。总体而言,Struts 2为文件传输提供了高效便捷的解决方案,助力开发者构建稳定可靠的Web应用。然而,在处理大文件时需兼顾网络带宽与服务器性能,确保传输顺畅。
220 0
|
机器学习/深度学习 人工智能 运维
智能化运维:未来技术趋势与挑战
随着信息技术的飞速发展,智能化已成为推动运维领域进步的重要力量。本文将深入探讨智能化运维的核心技术、面临的挑战以及未来的发展趋势。通过分析当前运维自动化的实践案例和智能算法的应用,揭示智能化运维如何优化系统性能、提高资源利用率,并预测其对未来IT基础设施的影响。文章旨在为读者提供对智能化运维全面而深入的理解,并为运维专业人士指出未来发展的方向。
547 0
|
关系型数据库 应用服务中间件 Go