文件下载

C#通过文件流下载文件 1、该方法传入的参数为需要下载的文件(需要包含绝对路径)/// /// 通过文件流下载文件 /// /// 文件名称(包含目录和后缀名) private void DownLoadPic(string url) { string sFileName = url ; F 阅读详情

1.文件下载和文件样式设置方面,阿帕奇公司提供了POI,由于时间关系,后期再更,先写写最原始的下载方法。

1.1 通过超链接下载

        优点:开发简单,之间通过超链接即可完成。
        缺点:非压缩包的文件(.jpg,.png,.gif,.doc,.txt..)则直接在浏览器中打开。
        建议:所有的文件都是压缩包时,可以使用该中方式。

其代码如下:

    要保证所要下载的文件路径有效

    <a href="1.jpg">girl1.jpg</a>
    <a href="1.zip">girl2.zip</a>

1.2通过IO流的方式下载,这里使用的是jsp文件+servlet的方式下载

以下是jsp的内容

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html>
  <head>
    <title>下载</title>
  </head>
  <body>
    <h1>超链接方式下载</h1>
    <a href="1.jpg">girl1.jpg</a>
    <a href="1.zip">girl2.zip</a>
    <br/>
    <h1>IO方法/文件转发方式下载</h1>
      <a href="${pageContext.request.contextPath}/servlet/DownLoadServlet?name=girl1.jpg">girl1.jpg</a>     
      <a href="${pageContext.request.contextPath}/servlet/DownLoadServlet?name=girl2.zip">girl2.zip</a>
    <br/>
  </body>
</html>


以下是对应servlet中的代码

package cn.test.web;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.UUID;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DownLoadServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //IO流的方式现在
        //1、接收参数
        String fname = request.getParameter("name");
        //2、创建输入流对象
        InputStream in = new FileInputStream(
                getServletContext().getRealPath(fname));
        //3、创建输出流对象
        OutputStream out = response.getOutputStream();
        //4、告设置头通知,告知浏览器以附件下载的方式打开
        response.setHeader("Content-Disposition",
                "attachment;filename="+fname);
        //5执行io操作
        byte[] bts = new byte[1024];
        int len = -1;
        while((len=in.read(bts))!=-1){
            out.write(bts,0,len);
        }
        //6、关闭流
        out.close();
        in.close();
     
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

    }

}








文件下载案例 php实现文件树形展开,可以进行下载,界面美观,供学习和实用。 立即下载

相关推荐

【win11】主板更新之后pin不可用,恢复方法

台式机的主板更新了BIOS,再开机竟然登录不进去系统了。 登录界面上显示:【由于此设备上的安全设置已更改,你的pin码不再可用。单击以重新设置pin】 点击【单击以重新设置pin】没有任何反应。 也没有密码登录选项。 在网上找到解决方法,不用PE,只需要按步骤操作即可。通过实际验证可行,现记录如下。

1万+

下载文件的几种方法:

下载文件的几种方法:

专注Java(全栈)应用开发,求知若渴,虚心若愚,talk is cheap, show me the code. 2296

STM32F429+LAN8720实战:5分钟搞定LWIP裸机网络通讯(附完整代码)

本文详细介绍了如何在STM32F429微控制器上,结合LAN8720 PHY芯片,在裸机环境下快速部署和配置LWIP协议栈以实现网络通讯。内容涵盖硬件RMII接口连接、STM32CubeMX关键配置、代码移植与定制,以及常见问题排查方法,帮助工程师在资源受限的嵌入式系统中高效实现稳定的以太网功能。

2y3u4i5o6p的博客 960

下载文件

下载文件

zsy1209的博客 1325

MIMO-OFDM 通信-感知一体化(ISAC)中的联合优化与性能权衡

本文深入探讨了MIMO-OFDM技术在通信-感知一体化(ISAC)系统中的核心作用与挑战。文章分析了如何通过联合优化资源分配、波束成形与波形设计,在有限的频谱与硬件资源下,实现通信速率与感知精度之间的最佳平衡,并指出了工程实践中面临的同步、干扰等关键难题。

dapp9builder的博客 215

MATLAB控制信号发生器(USB-GPIB-HS)GPIB仪器控制教程(含matlab代码)

自动化测试时需要自动产生信号,通过matlab控制信号发生器的频率与功率,以实现自动化信号生成输出

qq_43686057的博客 1606

文件下载的其他方法

文件下载的是一个非常常见的需求。

专注Java(全栈)应用开发,求知若渴,虚心若愚,talk is cheap, show me the code. 203

Windows环境下ABAQUS、Fortran 编译器及Visual Studio的安装和关联

点击Continue,在随后的弹窗中勾选accept,并点击Customize(注意,在接下来的安装图片中,显示的版本号是2024.2,图片来自于一次失败的安装,懒得再截图了,步骤毫无区别,请见谅)。在下一步中,保持默认选项,之后软件会自动关联到刚才安装到visual studio,随后下一步进行安装(如果电脑中已经安装有其他版本的visual studio,则只保留2022)。在随后的弹窗中,根据指示找到。以防万一,尽量暂时退出所有杀毒软件,关闭防火墙,一般不会有影响,为确保万无一失,可以执行此步。

samurai12的博客 9945

Java下载文件的几种方式含本地文件下载

1.以流的方式下载. public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名...

海那边天哭了 8610

五、实战pxe安装ubuntu 22.04 软raid1(实际生产pxe配置)

这段配置文件是一个cloud-init的自动安装配置,用于自动化部署Ubuntu服务器操作系统。它定义了从系统身份、键盘布局、区域设置到磁盘分区和RAID配置的一系列设置,并且包含了在安装过程的最后阶段执行的一些命令。基础设置version: 1指定了autoinstall配置文件的版本。source定义了安装源,这里是ubuntu-server。identity设置了主机名(hostname)、用户(username)和密码(password注意这里的密码是经过加密的。键盘与语言设置。

jundao1997的专栏 999

基于matlab的CNN物体识别物体分类系统

主要对物体进行识别,搭建一个物体分类系统本次实验选择规模稍大的 CIFAR-10 数据集进行分类识别,对应图像的大小设计 VggNet、ResNet 进行网络训练。在实际操作过程中,受限于数据规模和硬件配置,对于大小放缩、批次参数、训练步数等进行了多次调试,这也对以后的图像分类任务具有较高的参考意义,并通过对 CIFAR-10 数据集进行训练和评测,采用网络修改的方式来得到新的 CNN 结构,适用于对网络进行配置、融合等相关研究。读者可以通过自行设计或选择其他网络、加载其他数据等方式进行实验的延伸。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2005

python 文件下载、大文件下载、异步批量下载 教程

原文来自Python实用宝典:python 文件下载、大文件下载、异步批量下载 教程 按照不同的情况,Python下载文件可以分为三种: 小文件下载 大文件下载 批量下载 python 小文件下载 流程:使用request.get请求链接,返回的内容放置到变量r中,然后将r写入到你想放的地方。 以下载上述流程图为例子: 运行完毕后,它将会被保存到当前文件夹的new文件夹里。 python ...

Python实用宝典网 1938

RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣本专栏已更新260多种不同的改进方法,所使用并改进的每一个模块均包含详细的模块分析、原理讲解、个人总结、多种改进方式以及完整的修改流程,所有改进100%可直接运行。2️⃣所有改进点均为近三年顶会,顶刊提出的先进算法,将其融入到中,紧跟学术热点,适应不同的任务场景。3️⃣团队内发表数篇SCI论文,熟悉完整的发表流程,订阅专栏即可进群享受模型训练、模型改进、论文写作、投稿选刊,从入门到论文的各种答疑内容。4️⃣专栏内容会持续更新,最近更新时间:2024-12-4。项目介绍在大家购买专栏后,加入学习

Limiiiing的博客 2万+

【文件下载】java下载文件的几种方式(本地下载、从网络上下载、在线浏览)

原文地址:https://www.cnblogs.com/sunny3096/p/8204291.html 1.以流的方式下载. public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 ...

TRX的博客 6076

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

okhttp下载文件 Java下载文件 javaokhttp下载文件 下载文件 java下载 okhttp下载 okhttp

也可以用 UrlConnetcion或者apache。示例 http客户端 用的是。

半只 3449

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

如何将QQ群文件快速下载,怎么快速下载QQ中的文件,QQ群文件下载

这是王秀秀的第18篇博客 直接想看怎么下载,可以直接略过下面这段废话 点击正文开始↓正文开始 生活中我们肯定会遇到传输文件的问题,一般我们传输文件,下载文件一般都用某云盘了,可是它的德行大家也都知道。下载速度快的一批。 所以的我就想用用QQ来传输文件,不得不说啊,????爸爸真的还是听良心的。我将我的一个1.5G大文件发送给了盆友,然后点击离线发送,发现这速度真的没得说真的快,可是当我发第二个的时候,突...

weixin_43866499的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

文件下载---文件流下载文件

使用文件流方式直接下载文件

大香蕉的博客 4108

axios下载大文件_python 文件下载、大文件下载、异步批量下载 教程

原文来自Python实用宝典:python 文件下载、大文件下载、异步批量下载 教程按照不同的情况,Python下载文件可以分为三种:小文件下载大文件下载批量下载python 小文件下载流程:使用request.get请求链接,返回的内容放置到变量r中,然后将r写入到你想放的地方。以下载上述流程图为例子:运行完毕后,它将会被保存到当前文件夹的new文件夹里。python 大文件下载我们在小文件下载...

weixin_39748445的博客 194

【文件下载】Java下载文件的几种方式

1.以流的方式下载 public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名。 String filename = file.getName(); /

男人要霸气的博客 771

web下载文件,前端下载二进制文件,vue axios下载文件,前端文件下载,ajax下载文件

通过后端接口下载excel文件,后端没有文件地址,返回二进制流文件 axios({ method: 'post', url: url, // 请求地址 data: options, // 参数 responseType: 'blob' // **表明返回服务器返回的数据类型** }).then( response => { ...

张宇的博客 663

thinkphp 文件下载 文件下载php

THinkPHP1.5中文件的下载 用到的系统类库文件是Http.class.php,位于ThinkPHP\Lib\ORG\Net目录下,类名Http,其中有静态方法 static function download ($filename, $showname=”,$conte

万维网 7935

axios下载大文件_python 小文件下载、大文件下载、异步批量下载 教程

按照不同的情况,Python下载文件可以分为三种:小文件下载大文件下载批量下载python 小文件下载流程:使用request.get请求链接,返回的内容放置到变量r中,然后将r写入到你想放的地方。以下载上述流程图为例子:运行完毕后,它将会被保存到当前文件夹的new文件夹里。python 大文件下载我们在小文件下载的时候,是将文件内容暂存到变量里,大家想想,下载大文件的时候还这样做会有什么问题? ...

weixin_39717121的博客 250

浏览器通过下载来下载文件

如图:通过以下方式下载 在jsp页面访问地址: //执行模版下载    function downloadTemplate(){         window.location.href = "download/downloadServlet.do";     };  servlet请求: package com.xjw.bmp.servle

mexican_jacky的专栏 1863

文件 - 04 下载文件: 根据文件下载链接下载文件

代码】文件-04根据文件下载链接下载文件。

你今天真好看呀 1279

koa 文件下载

使用koa框架进行浏览器文件下载

zfeig的专栏 7507
上一篇: 常用排序算法
下一篇: Java实现队列和栈
挖坑专业
博客等级 码龄10年 5粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值